MySQL主从复制

主库:192.168.0.10    CentOS 6.5

备库:192.168.0.11    CentOS 6.5

1、编辑主库配置文件my.cnf,一般情况在/etc/my.cnf

[mysqld]
log-bin=mysql-bin
server-id=10
binlog-do-db=membercenter
log-slave-updates=1
slave-skip-errors=1

  log-bin:开启log-bin二进制日志文件

  server-id:服务器唯一ID,默认是1,一般取IP最后一段

  binlog-do-db:需要同步的数据库,如果需要复制多个数据库,则此参数复制多行

  log-slave-updates:更新记录写入到二进制日志中

  slave-skip-errors:跳过错误,继续执行复制操作

2、重启MySQL服务   service mysqld restart

3、创建复制账号

mysql> grant replication slave on *.* to slave@192.168.0.11 identified by '123456' ;
mysql> flush privileges;

  注意,由于replication角色是全局的,所以不能针对于某个库授权

4、查看主库状态,得到binlog日志文件名和偏移量

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.00001  | 172      | lepus        |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5、修改从库配置文件my.cnf,一般在/etc/my.cnf

log-bin=mysql-bin
server-id=11

6、重启MySQL服务   service mysqld restart

7、配置连接主库

change master to master_host='192.168.0.10', master_user='slave',master_password='123456', master_log_file='mysql-bin.00001', master_log_pos=172;

  此处要注意logfile的名称和position的值,其余host、user和password为主数据库设置的账号和密码

8、查看从库状态

mysql> show slave statusG;

  Slave_IO_Running: No

  Slave_SQL_Running: No

9、开始数据同步

mysql> start slave;

  此时在查看从库状态,以上的两个值都显示YES。

原文地址:https://www.cnblogs.com/rnckty/p/7479135.html