基本原理图如下:
主从复制(也称 AB 复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。当主库进行更新的时候,会自动将数据复制到从库中,而我们在客户端读取数据的时候,会从从库中进行读取。
注:在创建主从数据库是要把主从数据时间和库表保持一致
1,配置文件,开启binlog参数 (vim /etc/my.cnf)
主库
注:server_id不能一样
2,主库建立同步账号(进入主库mysql)
grant replication slave on *.* to 'rep'@'192.168.199.%' identified by '123456';
3,查看主库状态
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 | 154 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
记录日志文件名和偏移量
4,来到从库(设置与主库同步)
mysql> change master to
-> master_host='192.168.199.144',
-> master_user='rep',
-> master_password='123456',
-> master_log_file='mysql-bin.000004',
-> master_log_pos=154;
Query OK, 0 rows affected, 2 warnings (0.03 sec)
5,启动同步开关并检测状态
start slave;
show slave status\G
6,检测主从复制状态