在配置好基本步驟后隆圆,Slave進(jìn)行以下操作時報錯:
change master to master_host='xx.xx.xx.xx',
master_user='xxxx',
master_password='xxxxxx',
master_port=3306,
master_log_file='mysql-bin.000002',
master_log_pos=120;
報錯信息:
# [Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave]
看意思是說我我的server-id沒有配置好,然后檢查了Master和Slave端的my.cnf配置文件內(nèi)容镀岛,里面都有設(shè)置server-id弦牡;
然后在msyql命令下執(zhí)行下面的命令檢查server-id是否設(shè)置成功(我的Master設(shè)置的是id是1,Slave設(shè)置的是2)
#這是Master端 輸出沒有問題
mysql> SHOW GLOBAL VARIABLES like 'server\_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
#這是Slave端 我配置文件設(shè)置的是2漂羊,但是這里顯示的0驾锰,顯然配置沒有生效
mysql> SHOW GLOBAL VARIABLES like 'server\_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 0 |
+---------------+-------+
1 row in set (0.00 sec)
對比著Master檢查Slave的my.cnf配置文件,發(fā)現(xiàn)my.cnf里面有兩段內(nèi)容走越,上面是[mysqld]開頭的椭豫,下面是[mysqld_safe]開頭的(仔細(xì)檢查my.cnf文件內(nèi)容)
server-id這些內(nèi)容應(yīng)該配置在[mysqld]下面
正確配置為:
[root@li1004-237 ~]# cat /etc/my.cnf
#注意看這里……(^_^)a
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#主從配置應(yīng)該設(shè)置在[mysqld]下面……(^_^)a
server_id=2
binlog-ignore-db=mysql
log_slave_updates=1
# 注意看這里……(^_^)a
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
修改好記得重啟數(shù)據(jù)庫
#service mysqld restart
配置好了之后在Slave端驗證一下
mysql> SHOW GLOBAL VARIABLES like 'server\_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
#這時Value為2 表示配置生效了
OK……
然后在重新執(zhí)行以下命令進(jìn)行主從綁定
change master to master_host='xx.xx.xx.xx',
master_user='xxxx',
master_password='xxxxxx',
master_port=3306,
master_log_file='mysql-bin.000002',
master_log_pos=120;
輸出
Query OK, 0 rows affected, 2 warnings (0.05 sec)
表示成功
然后還沒完,綁定成功后在Slave端要開啟服務(wù)
在Slave端查看主從同步狀態(tài)
mysql> show slave status\G;
結(jié)果中Slave_IO_Running、Slave_SQL_Running應(yīng)該是No
然后執(zhí)行以下命令就可以同步了
mysql> start slave;
重新執(zhí)行命令赏酥,如果Slave_IO_Running喳整、Slave_SQL_Running為YES說明主從復(fù)制配置成功!B惴觥框都!
mysql> show slave status\G;