centos6 mysql5.5配置master\slave數據同步備份
數據庫A 做為主服務,數據庫B做為同步庫(注: 兩邊數據庫庫必須要一至,要不然會有不斷的錯誤信息出來,改啊改,就是不成功)
1、配置 master
vi /etc/my.cnf
[mysqld]
server-id=1
log-bin=log path
binlog-do-db=xxxx //表示只備份xxxx這個庫 ,可以配置多個庫
binlog-ignore-db=yyy //表示忽略yyy庫
注: 如果binlog-do-db,binlog-ignore-db不加會默認備份全部庫
重啟數據庫 service mysqld restart
登陸到數據庫 mysql -uroot -p123456
創建一個備份帳號,最好具有 slave, reload,super,權限
grant peplication slave,reload,super on *.* to 'backup'@'%' identfiend by '1234' with grant option;
注:with grant option 這個必須有,表示backup 具有可操作權限
flush privileges;
show grant for 'backup'@'%'; //查看用戶
show master status;
如果 ip 地址改變:
change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10;
2、配置 slave
vi /etc/my.cnf
server-id=2
change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10;
注:日志名稱,用戶名,密碼必須與master 一至
show slave status\G;
查看信息是否正確
slave start;
用show slave status\G;
只要確定 :
slave_io_running=yes
slave_sql_running=yes
就搞定了。
我遇到了2個問題
第一個:
slave_io_running=connecting
slave_sql_running=yes
last_io_error: error connecting master ......
找了老半天,原來是用戶名密碼整錯了,真是浪費時間
第二個:(有點暈了)
slave_io_running=no
slave_sql_running=yes
last_io_error: 意思是說兩邊的庫和表一至,同步沒有找到相應的庫和表
然後 :
slave stop;
reset slave; // 重新設置slave
change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10;
再來一遍,沒辦法,最後終於看到
slave_io_running=yes
slave_sql_running=yes
last_io_error: 為空