10.0.0.22
1. 添加mysql用戶
# groupadd mysql # useradd mysql -g mysql2. 安裝mysql-cluster 7.3.5-linux
# cd /usr/local/src/(已下載好集群版) # tar -xvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz # 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台機器都要執行
3. 集群配置
(1) 管理節點
# vi /var/lib/mysql-cluster/config.ini (目錄和文件沒有請新建,添加以下內容)
[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拷貝ndb_mgm、ndb_mgmd到bin目錄。
# cd /usr/local/mysql/bin # cp ./ndb_mgm /usr/local/bin/ # cp ./ndb_mgmd /usr/local/bin/備注: 管理節點只要ndb_mgm和ndb_mgmd兩個文件和一個配置文件即可。
啟動管理節點
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini關閉管理節點
# ndb_mgm>shutdown
備注:命令行中的ndb_mgmd是mysql cluster的管理服務器,後面的-f表示後面的參數是啟動的參數配置文件。
如果在啟動後過了幾天又添加了一個數據節點,這時修改了配置文件啟動時就必須加上--initial參數,不然添加的節點不會作用在mysql cluster中。
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
# ndb_mgm這時就進入到客戶端,可以對mysql cluster進行各項操作。
# ndb_mgm> show 查看各節點情況。 # ndb_mgm> all report memory 查看各數據節點使用情況 # ndb_mgm>create nodegroup 3;創建數據節點分組 # mysql> alter online table data_house reorganize partition; 調整分區數據(2) 數據節點
# vi /etc/my.cnf (添加以下內容)
[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參數,其它時候不要加,除非是在備份、恢復或配置變化後重啟時
# /usr/local/mysql/bin/ndbd --initial 正常啟動 # /usr/local/mysql/bin/ndbd(3) sql節點
# cd /usr/local/mysql/設置mysql服務為開機自啟動
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod +x /etc/rc.d/init.d/mysqld # chkconfig --add mysqld
# vi /etc/my.cnf (添加以下內容)
[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
#service mysqld start錯誤解決辦法: 1. can't connect to local MySQL server through socket '/tmp/mysql.sock'
mysql集群的啟動順序為:管理節點->數據節點->SQL節點
mysql集群的關閉順序為,管理節點->數據節點->SQL節點