這兩臺在作mysql的主從同步,個人mysql服務器版本是5.6.10,mysql5.6以後作主從同步的時候,官方建議把master.info中的信息放在數據庫中,具體位置在mysql數據庫中的master.info表中 mysql
mysql的主從同步的例子已經不少了,如今主要說說我遇到的問題,主從同步的設置很順利,簡要說明一下: sql
在主數據庫中執行sql 數據庫
flush tables with read lock; 服務器
查看主數據庫binlog記錄: tcp
show master status; 工具
備份主數據庫: 日誌
一、能夠對數據庫打包:tar -zcvf /backup/mysql_dump.tar.gz /var/lib/mysql ip
二、能夠用mysql的工具 mysqldump:mysqldump --user=root -h 127.0.0.1 --databases test_repl --default-character-set=utf8 --lock-all-tables > /backup/test_repl.sql 同步
在從數據庫上恢復數據庫 it
一、tar包的直接解壓到mysql存放數據庫的目錄,修改文件爲mysql的權限便可
二、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
這樣主從同步就能正常的運行了
搞定收工