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操做。