mysql主從同步開啟後的iptables的設定問題
這兩台在做mysql的主從同步,我的mysql服務器版本是5.6.10,mysql5.6之後做主從同步的時候,官方建議把master.info中的信息放在數據庫中,具體位置在mysql數據庫中的master.info表中
mysql的主從同步的例子已經很多了,現在主要說說我遇到的問題,主從同步的設置很順利,簡要說明一下:
在主數據庫中執行sql
flush tables with read lock;
查看主數據庫binlog記錄:
show master status;
備份主數據庫:
1、可以對數據庫打包:tar -zcvf /backup/mysql_dump.tar.gz /var/lib/mysql
2、可以用mysql的工具 mysqldump:mysqldump --user=root -h 127.0.0.1 --databases test_repl --default-character-set=utf8 --lock-all-tables > /backup/test_repl.sql
在從數據庫上恢復數據庫
1、tar包的直接解壓到mysql存放數據庫的目錄,修改文件為mysql的權限即可
2、mysqldump的運行:mysql -uroot -p123456 < test_repl.sql恢復數據庫
然後設置從數據庫同步信息:
change master to
master_host='主數據庫ip',
master_user='同步用戶名稱',
master_password='同步用戶密碼',
master_port=3306,
master_log_file='日志文件',
master_log_pos=日志文件所在位置;
開啟從數據庫同步服務
start slave;
釋放主數據庫的讀鎖,在主數據庫上運行
unlock tables;
在從數據庫上運行
show slave status\G
查看從數據庫同步狀態是否正確
主從服務器防火牆設定
在主數據庫上只需放開mysql的tcp即可
iptables -A -p tcp --dport 3306 -j ACCEPT
在從服務器上需要同時放開mysql的tcp udp:
iptables -A -p tcp --dport 3306 -j ACCEPT
iptables -A -p udp --dport 3306 -j ACCEPT
這樣主從同步就能正常的運行了
搞定收工