1. 程式人生 > >MYSQL配置主從同步

MYSQL配置主從同步

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配置主從同步