Mysql 主从复制
环境:两台CentOS6.8,IP:192.168.1.190,192.168.1.191
安装Mysql
# yum install mysql mysql-server mysql-devel # /etc/init.d/mysqld start # chkconfig mysqld on # mysql_secure_installlation //设置数据库密码等操作
修改master /etc/my.cnf 配置文件
log-bin=mysql-bin //开启二进制日志 server-id=190 //服务id,一般选取IP后三位
修改slavery /etc/my.cnf 配置文件
log-bin=mysql-bin //不是必须的 server-id=191
重启两个数据库
主服务器建立账户并授权slave
mysql> GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by '123456'; show master status; //查询master的状态
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
配置从服务器
mysql>change master to mysql>master_host='192.168.1.190',master_user='mysync',master_password='123456', master_log_file='mysql-bin.000001',master_log_pos=250; //根据主服务器参数修改 mysql> show slave status\G //检查从服务器复制功能状态 mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.1.190 Master_User: mysync Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000002 Read_Master_Log_Pos: 106 Relay_Log_File: mysqld-relay-bin.000004 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes //必须为yes Slave_SQL_Running: Yes
主从服务器测试
- 主,XJB写一点东西
mysql>create database hi_db; mysql> use hi_db; mysql> create table hi_tb(id int(3),name char(10)); mysql> insert into hi_db values(001,'bobu');
- 从,看一下
mysql>show databases;
如果没有同步成功,先检查是否关闭防火墙,selinux是否关闭,还是不行,就检查配置文件是否有问题,如果还是不行,建议你放弃,不适合搞IT。