mysql主机 MySQL 集群环境搭建 | 资料
1)Sql 结点(SQL node—下图对应为 mysqld):分布式数据库。包括自身数据和查询中心结点数据
2)数据结点(Data node – ndbd):集群共享数据(内存中)
3)管理
1.2 集群 MySQL中名称概念 1)Sql 结点(SQL node—下图对应为 mysqld):分布式数据库。包括自身数据和查询中心结点数据 2)数据结点(Data node – ndbd):集群共享数据(内存中) 3)管理服务器(Management Server – ndb_mgmd):集群管理 SQL node,Data node 详情见下图: 1.3环境配置 1)至少2台Linux服务器,后面的例子是3台Linux服务器 如果只有2台的话,那么其中一台机器就要多一个角色:Management Server 2)MySQL集群版本安装程序,分32位和64位版本mysql主机,最新版本请在里面下载 2 安装 不管是Management Server,还是Data node、SQL node,都需要先安装MySQL集群版本,然后根据不用的配置来决定当前服务器有哪几个角色。 安装之前准备好mysql用户和mysql用户组,相关命令: groupadd mysql useradd mysql -g mysql 确定相关机器的防火墙已关闭(或者设置防火墙这几台机器之间的网络连接是畅通无阻的),相关命令: chkconfig iptables off service iptables stop 2.1 安装MySQL集群版本 1)把mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686.tar.gz(这是32位安装版,64位安装版:mysql-cluster-advanced-7.3.2-linux-glibc2.5-x86_64.tar.gz)上传到/usr/local 2)解压:tar zxvf mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686.tar.gz 3)重命名:mv mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686 mysql 4)授权:chown -R mysql:mysql mysql 5)切换到mysql用户:su – mysql 6)切换目录到mysql:/usr/local/mysql 7)安装mysql:scripts/mysql_install_db --user=mysql 2.2 配置Management Server 1)使用root账号创建目录:mkdir /var/lib/mysql-cluster 2)新建文件config.ini然后上传到mysql-cluster里面: 3)授权:chown -R mysql:mysql /var/lib/mysql-cluster 4)切换到mysql用户:su – mysql 5)启动管理服务:/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini 6)查看服务是否正常启动:netstat –lntpu 打印: tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 2437/ndb_mgmd 看到1186端口开放了说明启动是正常的 2.3 配置Data Node 1)新建文件my.cnf然后上传到/etc里面: (*网上有些资料是直接改/usr/local/mysql/my.cnf,我试了一下,无法启动,估计程序默认是读取/etc/my.cnf) 2)切换到mysql用户:su – mysql 3)启动数据节点服务:/usr/local/mysql/bin/ndbd –initial 第一次启动需要加参数:–initial,以后就不用加了,直接运行:/usr/local/mysql/bin/ndbd 4)查看服务是否正常启动:netstat –lntpu 打印: 看到ndbd了说明启动是正常的 2.4 配置SQL Node 1)新建文件my.cnf然后上传到/etc里面,和上面的Data Node里面的配置一样,如果上面的步骤已经做了,略去此步骤。 2)切换到mysql用户:su – mysql 3)设置管理员密码: /usr/local/mysql/bin/mysqladmin -u root password '123' /usr/local/mysql/bin/mysqladmin -u root -h LINUX129 password '123' 上面的命令行里面的123是新密码,LINUX129是机器名,这2条命令来自于安装mysql执行:scripts/mysql_install_db --user=mysql 后的打印日志 4)复制mysqld到系统服务里面去: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 如果权限不够,可以先使用root用户授权: chown -R mysql:mysql /etc/init.d/mysqld 5)启动SQL节点服务:service mysqld start 或者/etc/init.d/mysqld start 或者/usr/local/mysql/bin/mysqld_safe --user=mysql & 6)查看服务是否正常启动:netstat –lntpu 打印: tcp 0 0 :::3306 :::* LISTEN 2590/mysqld 看到3306端口开放了说明启动是正常的 3 常用命令或问题 1)ndb_mgmd管理命令:/usr/local/mysql/bin/ndb_mgm 执行之后就是管理控制台了,里面可以继续输入命令。 查看集群里面的全部节点的状态:show 2)停止集群服务器的命令:/usr/local/mysql/bin/ndb_mgm -e shutdown 如果集群配置有更新了:rm /usr/local/mysql/mysql-cluster/ndb_1_config.bin.1 3)停止SQL节点的命令:/usr/local/mysql/bin/mysqladmin -uroot shutdown 4)SQL Node上连接MySQL:/usr/local/mysql/bin/mysql -u root –p 执行之后就是MySQL控制台了,里面可以继续输入命令。 同样方式在另外一台SQL Node上连接MySQL,查看数据库、表、记录是否已同步过去。 5)解决MySQL客户端工具连接SQL Node出现1130的异常,在MySQL控制台下执行: GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; 6)使用MySQL客户端工具创建表时选择引擎:NDBCLUSTER,如下图: (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |