在兩臺Linux機器上安裝MySQLmysql
1、Master主服務器配置
1.編輯my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnfsql
在[mysqld]中添加:數據庫
server-id = 100
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
log_bin = master-bin
log_bin_index = master-bin.index
binlog_do_db = my_data
binlog_ignore_db = mysql服務器
備註:server-id 服務器惟一標識,log_bin 啓動MySQL二進制日誌,binlog_do_db 指定記錄二進制日誌的數據庫,binlog_ignore_db 指定不記錄二進制日誌的數據庫。rest
2.登陸主服務器MySQL建立從服務器用到的帳戶和權限:日誌
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '密碼'server
3.重啓MySQL
systemctl restart mysqld.serviceip
4.釋放鎖
mysql> UNLOCK TABLES;同步
5.登陸MySQL狀態下,查看主服務器狀態:
mysql> show master status;
+-------------------+----------+----------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+----------------+------------------+-------------------+
| master-bin.000001 | 2261 | my_data | mysql | |
+-------------------+----------+----------------+------------------+-------------------+it
2、Slave從服務器配置
1.編輯my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnf
在[mysqld]中添加:
server-id = 101
relay_log = slave-relay-bin
relay_log_index = slave-relay-bin.index
2.重啓MySQL
systemctl restart mysqld.service
3.登陸Slave從服務器,鏈接Master主服務器
mysql> change master to master_host='主服務器IP',master_port=3306,master_user='backup',master_password='密碼',master_log_file='master-bin.000001',master_log_pos=154;
4.執下面命令,根據具體的錯誤來斷定,通常用於主鍵衝突或者更新失敗錯誤,進行手動跳過。
mysql> stop slave sql_thread;set global sql_slave_skip_counter=1;start slave sql_thread;
5.登陸MySQL狀態下,啓動Slave數據同步。
start slave;
6.登陸MySQL狀態下,查看Slave信息:
show slave status\G;
Slave_IO_Running和Slave_SQL_Running都爲yes才表示同步成功。Slave_IO_Running: YesSlave_SQL_Running: Yes