配置环境
主数据库所在系统:win10
主数据库版本:5.5
主数据库IP:192.168.0.110
从数据库所在系统:Linux
从数据库版本:5.5
从数据库IP:192.168.0.121
主服务器配置
my.ini配置(因为是windows下所以不是my.cnf)
[mysqld]
server-id=1
log-bin=mysql-bin #主从复制是通过二进制文件来进行,所以要开启日志功能(可指定目录c:\log\mysql-log)
read-only=0 #主机,读写都可以
relay-log=relay-bin
relay-log-index=relay-bin-index
执行sql语句
mysql>GRANT REPLICATION SLAVE,FILE ON *.* TO 'test'@'%' IDENTIFIED BY '123456';
%:是运行使用该用户的ip地址,表示所有客户端都可能连
test:是新创建的用户名
123456:是新创建的用户名的密码
重启mysql服务器
执行一下sql记录pos数和名字
mysql>show master status;
记录名:mysql-bin.000001
记录POS数:107
从服务器配置
my.cnf(Linux服务器下)
server-id=2
replicate-do-db=test #要同步的test数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
replicate-ignore-db=mysql #要忽略的数据库
配置完要重启MySQL服务器
# /etc/init.d/mysql restart
配置从服务器Slave:
mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.110',MASTER_USER='test',
MASTER_PASSWORD='123456',MASTER_PORT=3388,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;
在这里将记录名和数放在这里执行,执行OK,输入启动同步命令
mysql>start slave;
然后查看是否启动同步
mysql> show slave status\G;
如下图:箭头指向为yes就是开启成功
测试数据是否同步
这样我们主从同步就成功了
在启动工程中可能会出现slave_io_running:no和slave_sql_running:no问题:大家可以去看这个帖子如何解决解决该问题链接
如果是slave_io_running:no大家还可以尝试清理日志文件来解决。
有什么问题就留言哦
这几天出现一个问题:因为主键冲突引起的同步停止,在这我看见一个帖子解决了这个问题解决主从主键冲突