实践centos7.6 mariadb 主从复制
服务器IP:
主:192.168.184.12
从:192.168.184.13
主服务器配置
#vi /etc/my.cnf
log-bin=/var/lib/mysql/bin_log
server-id=1
重启主服务器
systemctl restart mariadb.service
主服务器上授权一个有复制权限的帐号
mysql -u root
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.184.13' IDENTIFIED BY 'replpass';
FLUSH PRIVILEGES;
从服务器配置
#vi /etc/my.cnf
relay-log=/var/lib/mysql/bin_log
server-id=2
重启从服务器
systemctl restart mariadb.service
从服务器指定日志从哪个位置开始复制
mysql -u root
CHANGE MASTER TO MASTER_HOST='192.168.184.12',
MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='bin_log.000001',MASTER_LOG_POS=245;
从服务器启动slave
start slave;
可能出现错误:ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
reset slave;
从服务器查看从服务器状态
show slave status;
主服务器查看从服务器状态
show slave hosts;
文章参考:https://www.cnblogs.com/xiaocen/p/3702945.html
文章参考:https://blog.csdn.net/edwzhang/article/details/17226975
在source那边,执行:
flush logs;
show master status;
记下File, Position。
在target端,执行:
CHANGE MASTER TO MASTER_LOG_FILE='testdbbinlog.000008',MASTER_LOG_POS=107;
slave start;
show slave status \G
一切正常。