MYSQL配置主從同步
阿新 • • 發佈:2018-04-19
tab var chang mbo ike master AC OS .so
MYSQL配置主從同步
mysql主服務器配置
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#設置數據庫標識
server-id=2
#任何一個事務提交之後就立即寫入到磁盤中的二進制文件
sync_binlog=1
#保持數據一致性,建議配置
innodb_flush_log_at_trx_commit=1
#開啟服務器二進制日誌
log-bin=mysql-bin
# 為每個session 分配的內存,在事務過程中用來存儲二進制日誌的緩存
binlog_cache_size=1M
# 主從復制的格式(mixed,statement,row,默認格式是statement)
binlog_format=mixed
# 二進制日誌自動刪除/過期的天數。默認值為0,表示不自動刪除。
expire_logs_days=7
# 如果只有一個數據庫,可配置,否則不要建議配置,bin-log Position值不變化,影響同步
#binlog-do-db=db1,db2
binlog-ignore-db=mysql
[mysqld_safe ]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
mysql從服務器配置
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#設置數據庫標識
server-id=1
replicate-do-db=db1
replicate-ignore-db=mysql
[mysqld_safe ]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置主從
Master DB Server IP:192.168.1.216
Slave DB Server IP:192.168.1.217
# 主服務器創建賬號,確保Slave服務器能訪問Master服務器數據庫
Mysql > grant replication slave on *.* to [email protected] identified by 'MYSQL@2018';
Mysql > flush privileges;
Mysql > show variables like 'server_id';
Mysql > show variables like '%bin';
# 主數據庫鎖表只讀
Mysql > flush tables with read lock;
Mysql > show master status;
# 從庫導入數據庫
Mysql > change master to MASTER_HOST='192.168.1.216',MASTER_PORT=3306,MASTER_USER='backup',MASTER_PASSWORD='MYSQL@2018',MASTER_LOG_FILE='mysql-bin.00001',MASTER_LOG_POS=1000,master_connect_retry=30;
# 查看狀態,啟動從庫線程
Mysql > show slave status\G
Mysql > start slave;
# 查看同步狀態
Mysql > show slave status\G
# 出現
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
# 即配置成功
# 主庫解鎖數據庫
Mysql > unlock tables;
MYSQL配置主從同步