上章讲了mysql已经把数据搬迁完成,但目前看起来理论上数据是一致的,故先把主从作上把。目的先实现吧
环境(此处ip,密码均是乱造的):
主:192.1.31.161 端口:3306 用户:vnum 密码:vnum@123
从:192.1.31.162 端口:3306
1.防火墙放出3306mysql
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload #重启firewall firewall-cmd --list-ports #查看已经开放的端口
2.主
配置:sql
#vim /etc/my.cnf [mysqld] log-bin = mylog //master必写 server-id = 1 //master必写 建立帐户://主服务器上建立帐户 mysql> grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123'; mysql> flush privileges; %在工做环境当中换成slave的主机名称或者IP地址 密码采用复杂密码 重启服务: #/etc/init.d/mysqld restart //rhel6 #systemctl restart mysqld //rhel7 注意:若是不成功删除之前的binlog日志 replication slave: 拥有此权限能够查看从服务器,从主服务器读取二进制日志。 super权限: 容许用户使用修改全局变量的SET语句以及CHANGE MASTER语句 reload权限: 必须拥有reload权限,才能够执行flush [tables | logs | privileges] 3.从 安装软件 配置: #vim /etc/my.cnf [mysqld] server-id = 2 log-bin=s1log //1.双主的时候必须写 2.gtid方式的ab复制必须写 启动服务: #/etc/init.d/mysqld start /rhel5/6 #systemctl restart mysqld //rhel7 指定主服务器信息: 先去主服务器查看日志信息: mysql > show master status \G 从服务器上指定: mysql> CHANGE MASTER TO MASTER_HOST='10.1.31.161', //主服务器IP MASTER_USER='vnum', //主服务器用户 MASTER_PASSWORD='vnum@123', //用户密码 MASTER_PORT=3306, //端口 MASTER_LOG_FILE='mylog.001', //binlog日志文件名称 MASTER_LOG_POS=154, //日志位置 MASTER_CONNECT_RETRY=10; //若是同步失败的尝试次数 启动slave服务: mysql > start slave; //关闭:stop slave mysql > show slave status; 测试: 登陆slave mysql> show slave status \G 若是没成功:删除从的binlog重启服务 错误分析: Slave_IO_Running: Connecting 1.网络不通 2.帐户密码错误 3.防火墙 4.mysql配置文件问题 5.链接服务器时语法 6.主服务器mysql权限 Slave_IO_Running: No 1.网络不通 2.mysql配置文件问题 3.mysql权限