mysql复制是基于主服务器的二进制日志中跟踪全部对数据库的增删改的,要开启主服务器的二进制日志mysql
本地环境介绍:sql
主mysql: win 用的是Xampp集成环境,mysql5.6。ip地址:192.168.1.141shell
从mysql: vm 下centos7,mysql5.6。ip地址:192.168.136.128数据库
主从mysql最好版本差很少,从服务器至少与主服务器版本相同或更高centos
1、主服务器配置服务器
一、my.ini:ide
用编辑打开my.ini,个人在D:\xampp\mysql\bin下centos7
#启用二进制spa
log-bin=mysql-bin #master id server-id=1 #指定哪一个数据库同步开启二进制 binlog-do-db=lk_shiyong
注意:日志
这个参数是指定哪一个数据库不开启二进制
binlog-ignore-db=database-name
若是是多个数据话的,要写多个binlog-do-db和binlog-ignore-db,数据库名称都是小写的~
2.为从服务器添加帐户并配置权限
在主服务器上,必须为从服务器建立一个用户来链接主服务器,并设置replication slave权限。
cmd 下切换到D:\xampp\mysql\bin下,本地没有密码,直接mysql
mysql
>use mysql; >select host,username from user; >grant replication slave on *.* to 'replication'@'%' identified by '123456'; >select * from user where user = 'replication' \G;
三、把咱们要同步的数据库备份一下,导入到从数据库服务器中
先备份lk_shiyong这个数据,再拷贝到从数据库服务器。
两边的数据库名称都是lk_shiyong
这样两边的原始数据就是同样的呢
四、查看主服务器状态并记录日志和位置参数,后面的从服务器要用到
>show master status\G;
记录:
file:mysql-bin.000002
position:120
2、从服务器
一、my.cnf
vi /etc/my.cnf #添加服务ID server-id=2
二、设置主服务器的地址,用户名和密码
# mysql -u root -p
>change master to master_host = '192.168.1.141', master_user = 'replication', master_password = '123456', master_log_file = 'mysql-bin.000002', master_log_pos = 120; >start slave;
这里的master_log_file和master_log_pos 就是咱们以前记录的值。
三、查看状态
>show slave status \G;
Slave_IO_State: Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明从服务器正在等待主服务器制做数据!
好吧,咱们在主服务下的一张表中,添加数据后,再到从服务器查看一下,会显示刚刚插入的数据~