环境介绍
mysql主从配置。本人是在如下环境测试的:
主数据库所在的操作系统:windows server2008
主数据库的版本:5.5
主数据库的ip地址:192.168.0.141
从数据库所在的操作系统:ubuntu
从数据的版本:5.5
从数据库的ip地址:192.168.0.126
配置
1.在主库上设置同步账号
GRANT REPLICATION SLAVE,FILE ON . TO ‘mstest’@‘192.168.0.126’ IDENTIFIED BY ‘123456’;
注: 192.168.0.126:是从库的ip地址
mstest:是新创建的用户名
123456:是新创建的用户名的密码
2.配置主数据库的my.ini
[mysqld]
server-id=1
log-bin=log
binlog-do-db=mstest //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
binlog-ignore-db=mysql //要忽略的数据库
3.重启主数据库
4.验证主库是否成功
show slave status;
5.配置从数据库的my.cnf
[mysqld]
server-id=2
master-host=192.168.1.111
master-user=mstest //第一步创建账号的用户名
master-password=123456 //第一步创建账号的密码
master-port=3306
master-connect-retry=60
replicate-do-db=mstest //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
replicate-ignore-db=mysql //要忽略的数据库
6.重启从数据库
/etc/init.d/mysql restart
7.验证是否成功
show slave status;
遇到的坑:
一、出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法
1.如果是Slave_SQL_Running:no:
MariaDB [(none)]> stop slave;
MariaDB [(none)]> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
MariaDB [(none)]> start slave;
2.如果是slave_io_running:no
MariaDB [(none)]> slave stop;
MariaDB [(none)]>CHANGE MASTER TO MASTER_LOG_FILE=‘log.000003’;
MariaDB [(none)]> slave start;
二、start slave时报错The server is not configured as slave; fix in config file or with CHANGE MAS
解决办法:SET GLOBAL server_id=2;
参考博客:https://www.cnblogs.com/l-hh/p/9922548.html
https://www.cnblogs.com/sustudy/p/4174189.html