mysql主從配置搭建步驟和遇到的坑

準備兩個mysql 放在兩臺服務器上 ,mysql

修改/etc/my.cnfsql

主庫增長數據庫

server-id=1
log-bin=log
#指定能夠被複制的數據庫名稱
binlog-do-db=test01

從庫增長服務器

server-id=2
replicate-do-db=test01

建立一個從庫用於鏈接主庫進行復制binlog的遠程帳戶  code

GRANT REPLICATION SLAVE,FILE ON *.* TO '帳戶'@'從庫ip' IDENTIFIED BY '密碼';

 

在mysql5.5以後 從庫配置文件my.cnf 中對主庫的配置開始不受支持了 server

例如blog

master-host=主庫ip
master-user=帳戶
master-password=密碼

這種配置方式啓動時會報錯 ,  不能識別master-XXX 的錯誤 ip

須要用下面的方式配置同步

CHANGE MASTER TO MASTER_LOG_FILE='log.000001',MASTER_HOST="主庫ip", MASTER_PORT=3306, MASTER_USER="遠程帳戶", MASTER_PASSWORD="密碼" , MASTER_LOG_POS=823 ;

pos 和log_file 須要在主庫中查詢  在主庫中執行   show master status;ast

配置完成後   start slave;  在從庫中啓動   show slave status\G; 查看狀態   

標記紅框位置爲yes 表明成功   此時從數據庫信息已經同步   

可能遇到的問題 

主從不能同步:

show slave status;報錯:Error xxx dosn't exist
且show slave status\G:
Slave_SQL_Running: NO
Seconds_Behind_Master: NULL

解決方法:

stop slave;
set global sql_slave_skip_counter =1 ;
start slave;

以後Slave會和Master去同步 主要看:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master是否爲0,0就是已經同步了

 

 

此時在主庫中插入後從庫自動同步  

相關文章
相關標籤/搜索