mysql-cluster 7.3.5安装部署
集群环境
1 2 3 | 管理节点 10.0.0.19 数据节点 10.0.0.12 10.0.0.17 sql节点 10.0.0.18 10.0.0.22 |
添加mysql用户
1 2 | groupadd mysql useradd mysql -g mysql |
安装mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | cd /home/test tar -zxvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64. tar .gz -C /usr/local mv mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64/ mysql cd ../ chown -R mysql:mysql mysql/ cd mysql . /scripts/mysql_install_db --user=mysql 这个步骤所有服务器都需要执行(5台) |
集群配置
管理节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | vim /usr/local/mysql/config .ini #lizhenghua [ndbd default] noOfReplicas=1 [ndb_mgmd] hostname =192.168.145.138 datadir= /usr/local/mysql/data [ndbd] hostname =192.168.145.140 datadir= /usr/local/mysql/data [MYSQLD] hostname =192.168.145.141 [MYSQLD] [mysqld] #博客园 [NDBD DEFAULT] NoOfReplicas=2 [TCP DEFAULT] portnumber=3306 [NDB_MGMD] #设置管理节点服务器 nodeid=1 HostName=10.0.0.19 DataDir= /var/mysql/data [NDBD] id =2 HostName=10.0.0.12 DataDir= /var/mysql/data [NDBD] id =3 HostName=10.0.0.17 DataDir= /var/mysql/data [MYSQLD] id =4 HostName=10.0.0.18 [MYSQLD] id =5 HostName=10.0.0.22 #必须有空的mysqld节点,不然数据节点断开后启动有报错 [MYSQLD] id =6 [mysqld] id =7 |
启动管理节点
1 | ndb_mgmd -f /usr/local/mysql/config .ini |
关闭管理节点
1 2 3 | [root@localhost bin] #ndb_mgm ndb_mgm> shutdowm |
备注:命令行中的ndb_mgmd是mysql cluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。
如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中。
1 | ndb_mgmd -f /usr/local/mysql/config .ini --initial |
管理节点状态
1 2 3 4 5 6 7 | ndb_mgm> show 查看各节点情况。 ndb_mgm> all report memory 查看各数据节点使用情况 ndb_mgm>create nodegroup 3;创建数据节点分组 mysql> alter online table data_house reorganize partition; 调整分区数据 |
数据节点
1 | vim /etc/my .cnf (添加以下内容) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #lizhenghua [mysqld] basedir= /usr/local/mysql datadir= /usr/local/mysql/data ndbcluster ndb-connectstring=192.168.145.138 [mysql_cluster] ndb-connectstring=192.168.145.138 [NDB_MGM] connect-string=192.168.145.138 [mysqld_safe] log-error= /usr/local/mysql/log/mysqld .log pid- file = /usr/local/mysql/mysqld .pid #博客园 [mysqld] datadir= /var/mysql/data socket= /var/mysql/mysql .sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #运行NDB存储引擎 ndbcluster #指定管理节点 ndb-connectstring=10.0.0.19 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.19 [NDB_MGM] connect-string=10.0.0.19 [mysqld_safe] log-error= /var/mysql/log/mysqld .log pid- file = /var/run/mysqld/mysqld .pid |
备注:安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时
sql节点
1 2 3 4 5 6 7 | cd /usr/local/mysql/ cp support-files /mysql .server /etc/rc .d /init .d /mysqld chmod +x /etc/rc .d /init .d /mysqld chkconfig --add mysqld |
1 | vim /etc/my .cnf (添加以下内容) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #lizhenghua [mysqld] ndbcluster ndb-connectstring=192.168.145.138 explicit_defaults_for_timestamp= true lower_case_table_names=1 pid- file = /usr/local/mysql/data/mysql3306 .pid log-error = /usr/local/mysql/data/mysql3306 .err basedir = /usr/local/mysql datadir = /usr/local/mysql/data skip-host-cache skip-name-resolve max_connections = 512 log-bin=mysql-bin #log = /usr/local/mysql/binlog/binlog.log [mysql_cluster] ndb-connectstring=192.168.145.138 #博客园 [mysqld] server- id =4 #每个服务器的id不一样 datadir= /var/mysql/data socket= /var/mysql/mysql .sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin = /var/mysql/log/mysql-bin .log max_connections=1000 #以下为mysql 主主模式的配置文件 # 忽略mysql数据库复制 binlog-ignore-db=mysql # 每次增长2 auto-increment-increment = 2 # 设置自动增长的字段的偏移量,即初始值为2 auto-increment-offset = 1 [mysqld_safe] log-error= /var/mysql/log/mysqld .log pid- file = /var/run/mysqld/mysqld .pid [MYSQLD] ndbcluster ndb-connectstring=10.0.0.19 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.19 [NDB_MGM] connect-string=10.0.0.19 |
1 | service mysqld start |