配置梳理
- 主數據庫
開啟二進制日志
設置唯一id
獲取二進制文件名和位置
創建用於通信的賬號 - 從數據庫
設置唯一id
使用分配的賬號讀取主數據庫的二進制日志
准備工作
主數據庫:192.168.0.201
從數據庫:192.168.0.202
主數據庫配置
- 進入配置文件
vim /etc/my.cnf - 添加兩行
log-bin=mysql-bin #開啟二進制日志
server-id=201 #設置server-id,唯一值,標識主機 - 重啟服務
service mysql restart - 創建賬號密碼
進入mysql
mysql -u root -p
創建用戶(IP為可訪問該master的IP,任意IP就寫'%')
CREATE USER 'slave_userid'@'%' IDENTIFIED BY 'slave_pwd';
查看用戶是否創建成功
select user,host from mysql.user;
分配權限(IP為可訪問該 master的IP,任意IP就寫'%')
GRANT REPLICATION SLAVE ON . TO 'slave_userid'@'%'; - 刷新權限
flush privileges; - 查看master狀態,記錄二進制文件名File和位置Position,后面配從庫要用
show master status;
從數據庫配置
- 進入配置文件
vim /etc/my.cnf - 添加一行
server-id=202 #設置server-id,唯一值,標識主機 - 重啟服務
service mysql restart - 登錄進入mysql,執行同步sql語句(主服務器名,用於主從的用戶名,密碼,二進制文件名,位置)
mysql -u root -p
CHANGE MASTER TO
MASTER_HOST='192.168.0.201',
MASTER_USER='slave_userid',
MASTER_PASSWORD='slave_pwd',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=755;
- 啟動slave同步進程
start slave; - 查看slave狀態,當Slave_IO_Running和Slave_SQL_Running都為YES的時候就表示主從同步設置成功了
show slave status\G - 可以改數據驗證同步,可以stop slave;執行看看效果
- 其他
不同步哪些數據庫
binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = information_schema
只同步哪些數據庫,除此之外,其他不同步
binlog-do-db = game