找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行:
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id,每个MySQL服务都是唯一的
以上配置修改完需要重启MySQL
MySQL创建用户
CREATE USER ‘slave’@’192.168.163.71’ IDENTIFIED BY ‘slave’;
分配权限(复制权限)
GRANT REPLICATION SLAVE ON . TO ‘slave’@’192.168.163.71’;
刷新权限
flush privileges;
查看master状态
SHOW MASTER STATUS;
执行同步SQL语句
CHANGE MASTER TO MASTER_HOST=’192.168.163.70’, MASTER_USER=’slave’,MASTER_PASSWORD=’slave’, MASTER_LOG_FILE=’mysql-bin.000008’,MASTER_LOG_POS=3077;
启动slave同步进程
start slave;
显示slave状态
show slave status\G;
查看错误日志位置
show variables like ‘log_error’;
遇到的问题:
创建完用户后要在从库环境下去连接。排除用户名或者密码错误、无法登录的问题。
service-id 必须不同
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
关于该问题的解决方案其实很简单,停掉备库实例,删除备库的auto.cnf文件,启动备库实例,此时备库就会产生一个新的auto.cnf文件(产生新的UUID)
1 删除Mysql
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到的相关东西delete掉;
rpm -qa|grep mysql(查询出来的东东yum remove掉)