本次主从复制以windows下的mysql为主机,linux下的为从机
一、修改mysql主机配置文件
查看mysql安装路径:cmd下启动mysql,并运行
即可查看路径
找到mysql位置后,修改配置文件(要备份一个配置文件,以免出错)
在mysqld下编辑如下内容
server-id=1
log-bin=E:/S2/MySql/data/mysqlbin
binlog-ignore-db=mysql
binlog-do-db=testmaster555
binlog_format=STATEMENT
保存退出后重启mysql服务
若不能够重新启动,那么表示配置文件中有错误!
二、修改mysql从机配置文件
在linux系统中,mysql的配置文件在/etc下,为my.cnf,修改内容为
之后也要重启linux中的mysql
三、主机创建用户并查看master状态
在主机中创建一个用户,使从机使用此账号连接主机
GRANT REPLICATION SLAVE ON *.* TO 'xss'@'%' IDENTIFIED BY '666';
%代表所有的远程用户都可以使用此用户
查看主机master
show master status
会得到
我们得到下列状态之后,我们就可以在从机上来绑定主机
在从机数据库中运行
CHANGE MASTER TO MASTER_HOST='主机ip',
MASTER_USER='slave', //创建的用户name
MASTER_PASSWORD='123456', //创建的用户密码
MASTER_LOG_FILE='File',MASTER_LOG_POS=Position;
MASTER_LOG_FILE对应上面查到的File
MASTER_LOG_POS 对应上面查到的Position
运行之后 我们就可以查看主从复制是否配置成功
在mysql中运行
start slave;
之后再运行
show slave status\G
会得到一大段属性
但只有圈住的表示是否已成功完成主从复制的环境搭建,只有两个都为yes,才表示配置成功
要注意:我们随意在主机上运行一条增删改语句,都会使Position或File变化
所以,当我们再运行一条语句后,需要重新配置我们的
CHANGE MASTER TO MASTER_HOST='主机ip',
MASTER_USER='slave', //创建的用户name
MASTER_PASSWORD='123456', //创建的用户密码
MASTER_LOG_FILE='File',MASTER_LOG_POS=Position;
语句。因为Position或File已经发生了变化,修改配置的方法为
先要停止从机
stop slave;
之后要重置主机
reset master;
之后运行我们重新编写的连接语句
CHANGE MASTER TO MASTER_HOST='主机ip',
MASTER_USER='slave', //创建的用户name
MASTER_PASSWORD='123456', //创建的用户密码
MASTER_LOG_FILE='新File',MASTER_LOG_POS=新Position;
最后启动从机模式
start slave;
再查看 show slave status\G; 发现仍然是连接成功的!
四、测试
主从复制配置完成后,我们就可以测试是否可以通过主机来同步到从机上了
创建当时我们要同步到从表的库名(大小写都要一致)
创建完成后,创建表和添加数据,此处略......
我们会发现从表上也会出现相同的库 ,相同的表与相同的数据
注:连接之后可以进行同步,当关闭掉从机和主机,在进行启动时,还是可以关联到主机,进行主从复制!!!