mysql數據庫添加從庫
mysql 主從配置在業務中應用不少,雖然了解其中機制,但從未進行處理過,為了深入了解下,對mysql進行了主從配置
主庫:3306
從庫:3307
1 主庫配置:
www.2cto.com
My.conf代碼
[mysqld]
#用自己數據庫對應的即可
log-bin = /data0/mysql/3306/binlog/binlog
log-bin-index = /data0/mysql/3306/binlog/binlog.index
server-id = 1 #與從庫配置與主庫不能相同
注意:注意原配置文件中是否有binlog-do-db,如果指定了數據庫,那只有這個數據庫能夠進行主從。根據需要判斷是否需要配置(重啟服務)
添加復制權限的用戶(可讀取2進制文件):
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '用戶名'@'IP' IDENTIFIED BY '密碼';
Java代碼
mysql>
show master status;
查看file 和position
www.2cto.com
2 從庫配置:
My.conf代碼
[mysqld]
#需要配置relaylog如果沒有請創建對應權限的目錄
relay-log-index = /data0/mysql/3307/relaylog/relaylog #中繼日志索引文件
relay-log-info-file = /data0/mysql/3307/relaylog/relaylog #中繼日志文件
replicate-ignore-db=mysql #屏蔽對mysql的同步,可以設置多個用","分隔
server-id = 2 #與主庫配置不同
同樣需要注意binlog-do-db的配置
www.2cto.com
重啟服務
數據庫操作
Mysql代碼
mysql>
>change master to master_host = '主庫ip',
>master_port = 3306,
>master_user = '用戶名',
>master_password = '密碼',
>master_log_file = 'binlog.***',
>master_log_pos = 101;
www.2cto.com
master_log_file 和master_log_pos在主庫中查詢
然後:
Mysql代碼
mysql> slave start;
# 查看從庫狀態
mysql> show slave status\G;
信息中:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
說明配置成功,測試主庫寫入從庫是否能夠同步成功。