mysql版本爲5.7以上 系統ubuntumysql
兩臺mysql服務器(192.168.10.10 爲master 主,192.168.10.11爲Slave 從)sql
Mysql是經過二進制的日誌文件來實現數據同步的。主mysql生成日誌,從mysql獲取日誌。ubuntu
在主mysql建立用戶,從mysql使用這個用戶遠程鏈接讀取二進制文件來同步數據。服務器
進入Mysql建立和設置用戶ide
// 建立用戶 create user 'slave'@'127.0.0.1' identified by 'mysql'; //設置用戶的replication slave權限和密碼,通配訪問IP grant replication slave on *.* to 'slave'@'192.168.10.%'; flush privileges;
修改主mysql /etc/mysql/mysql.conf.d/mysqld.cnf 配置。測試
server-id = 10 //mysql服務器的惟一標示 log_bin = /var/log/mysql //存放二進制log文件的路徑
重啓mysql。spa
進入Mysql執行下面命令。日誌
show variables like '%log_bin%';
log_bin ON
log_bin_basename /var/log/mysql/mysql-bin
log_bin_index /var/log/mysql/mysql-bin.index
log_bin_trust_function_creators OFF
log_bin_use_v1_row_events OFF
sql_log_bin ON
顯示這些信息就表示配置成功。code
查看日誌文件server
show master status;
mysql-bin.000002 154
修改主mysql /etc/mysql/mysql.conf.d/mysqld.cnf 配置。
server-id = 11 //mysql服務器的惟一標示 relay-log==/var/log/mysql/slave-relay-bin
進入Mysql
change master to master_host='192.168.10.10', master_port=3306, master_user='slave', master_password='mysql', master_log_file='master-bin.000002', master_log_pos=0;
啓動Slave
start slave;
重啓mysql。
測試主mysql新加表,看下從mysql數據是否同步。從mysql通常不作update insert delete操做,只能作select操做。