MySQL 5.5主從同步設置筆記分享。本站提示廣大學習愛好者:(MySQL 5.5主從同步設置筆記分享)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 5.5主從同步設置筆記分享正文
先修正Master(10.1.123.197)的 my.cnf 設置裝備擺設
在 [mysqld] 中新增以下內容:
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id = 1
sync_binlog=1
binlog_format=mixed
然後指定要做同步的數據庫,並疏忽失落不須要做同步的數據庫
binlog-do-db = testdb
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
在 [mysqldump] 中修正內容為
max_allowed_packet = 32M
留意:確保 max_allowed_packet 有比擬年夜的值,好比 max_allowed_packet = 100M
重啟 mysql:
service mysql restart
在Master上創立一個復制用戶
CREATE USER funsion;
GRANT REPLICATION SLAVE ON *.* TO funsion IDENTIFIED BY 'jb51.net';
# 測試情況暗碼是 xyzzy
+ ---------------------------------------------------------- +
再修正 Slave(10.1.123.160)的設置裝備擺設,修正 my.cnf
在 [mysqld] 中新增以下內容
server-id=2
log-bin = mysql-bin
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
# 以上三行話只應用於MySQL 5.5
輸出 mysql -u root -p
進入mysql敕令行,輸出
CHANGE MASTER TO MASTER_HOST = '10.1.123.233', MASTER_USER = 'funsion', MASTER_PORT = 3306, MASTER_PASSWORD = 'ifunsion.com';
CHANGE MASTER TO MASTER_CONNECT_RETRY=30;
在輸出 START SLAVE;
+ ----------------------- 假如產生毛病沒法啟動 ------------------- +
進入Master 的數據庫
輸出 show master status\G
記載下以後應用的 log-bin文件,和position (好比如今日記是 mysql-bin.000001 ,地位是 107)
然落後入Slave 的數據庫
輸出 stop slave;
change master to master_log_file='mysql-bin.000001',master_log_pos=107;
最初輸出 start slave;
最初在辦事器上履行
yum -y install ntpdate
ntpdate cn.pool.ntp.org
clock -w
把幾台辦事器的時光同步
+ ---------------------------- 一些能夠用到的敕令 ------------------------- +
履行鎖表:
flush tables with read lock;
這一步的目標是使我們在制造主從的進程中,主庫中不會有新的數據,不然會給我們的同步設置帶來費事
主庫履行解鎖:
unlock tables;
reset master 敕令刪除一切的二進制日記文件並清空了二進制日記索引文件。
reset slave 敕令刪除Slave復制所用的一切文件,從新開端。
+ ----------------------- 其它參考文檔(未驗證)-------------------------- +
庫營業不克不及停的情形下為從庫制造鏡像:
案例:
辦事器1號:主
辦事器2號:從
如今因為負載成績須要上架辦事器3號異樣為1號的從辦事器。
然則1號庫不克不及停,2號也不克不及停,主從同步過程也不克不及停(請求刻薄)。
可以如許做:
在主:
mysqldump -uroot -pxxxx -h127.0.0.1 --databases db1 db2 db3 --master-data=1 > bak.sql
3號辦事器slave stop;
以後將bak.sql導入3號從辦事器
slave start;
3號辦事器會主動從導出的那一刻的節點更新。
由於--master-data=1 這個參數在導出sql文件後會在最下方加上change語句。假如--master-data=0,則不會帶有。
異常的便利,但僅合適庫不是太年夜的情形,該案例導出的庫一共6G。