首先安装mariadb,这里就不说了
修改my.cnf文件中的server-id,使主从的server-id不一样,比如:
然后重启从库
然后主库创建新用户并且授权,新用户将用来做主库到从库的二进制日志拷贝
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';
然后查询主库的状态
记录下二进制文件编码和当前位置,position应该和sqlserver日志中的lsn类似
然后配置从节点
注意填写刚才记录的二进制文件编码和当前位置
CHANGE MASTER TO MASTER_HOST='192.168.159.66',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=245;
注意,如果报错说需要停止线程,那就停止相应的用户线程,比如:stop slave
最后重启从库
查看主从状态
如果显示Slave_ID_Running: Yes和Slave_SQL_Running: Yes表明主从关系成功建立
如果两者显示为No的话,第一步先重启从库,如果问题没有解决,那么就重新运行以下命令
CHANGE MASTER TO MASTER_HOST='192.168.159.66',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=245;
如果Slave_ID_Running为Connecting,则也是以上信息不正确,可能是主库host连接不上,存在网络不通,或者ip配置错误。可能是用户名密码错误,可能是二进制文件编码错误,还可能是位置信息不对。
解决办法同样是重新运行以下命令
CHANGE MASTER TO MASTER_HOST='192.168.159.66',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=245;