Mysql 5.6库级表级复制的搭建方法

32次阅读
没有评论

共计 4786 个字符,预计需要花费 12 分钟才能阅读完成。

本篇内容主要讲解“Mysql 5.6 库级表级复制的搭建方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“Mysql 5.6 库级表级复制的搭建方法”吧!

0. 架构信息
主库:192.168.56.100
从库:192.168.56.200

1. 主库操作
关闭数据库
[root@localhost test]# mysqladmin -uroot -p shutdown
Enter password:

修改配置文件
[root@localhost test]# vim /etc/my.cnf
[mysqld]

server-id=100
log-bin=/var/lib/mysql/mysqld-bin
binlog_format=row
# 复制的数据库
binlog-do-db=test

启动数据库
[root@localhost test]# mysqld_safe –defaults-file=/etc/my.cnf

可以通过下面命令查看要复制的数据库
[root@localhost test]# mysql -uroot -p
Type help; or \h for help. Type \c to clear the current input statement.

mysql show master status;
+——————-+———-+————–+——————+——————-+
| File  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+——————-+———-+————–+——————+——————-+
| mysqld-bin.000003 |  120 | test  |  |  |
+——————-+———-+————–+——————+——————-+
1 row in set (0.00 sec)

创建复制用户
mysql GRANT REPLICATION SLAVE ON *.* to repliform @ % identified by repliform
Query OK, 0 rows affected (0.00 sec)

2. 从库操作
关闭数据库
[root@localhost tmp]# mysqladmin -uroot -p  shutdown
Enter password:

增加复制参数到配置文件中
[root@localhost tmp]# vim /etc/my.cnf
[mysqld]
server-id=200
log-bin=/var/lib/mysql/mysqld-bin
binlog_format=row
# 应用复制的表
replicate_do_table= test.emp
replicate_do_table= test.dept

配置复制
mysql CHANGE MASTER TO
  –   MASTER_HOST= 192.168.56.100 ,
  –   MASTER_PORT=3306,
  –   MASTER_USER= repliform ,
  – MASTER_PASSWORD= repliform ,
  – master_log_file= mysqld-bin.000001 ,
  – master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.06 sec)

mysql show slave status\G
*************************** 1. row ***************************
  Slave_IO_State:
  Master_Host: 192.168.56.100
  Master_User: repliform
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: mysqld-bin.000001
  Read_Master_Log_Pos: 120
  Relay_Log_File: localhost-relay-bin.000001
  Relay_Log_Pos: 4
  Relay_Master_Log_File: mysqld-bin.000001
  Slave_IO_Running: No
  Slave_SQL_Running: No
  Replicate_Do_DB:
  Replicate_Ignore_DB:
  Replicate_Do_Table: dept.dept,dept.emp
  Replicate_Ignore_Table:
  Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
  Last_Errno: 0
  Last_Error:
  Skip_Counter: 0
  Exec_Master_Log_Pos: 120
  Relay_Log_Space: 120
  Until_Condition: None
  Until_Log_File:
  Until_Log_Pos: 0
  Master_SSL_Allowed: No
  Master_SSL_CA_File:
  Master_SSL_CA_Path:
  Master_SSL_Cert:
  Master_SSL_Cipher:
  Master_SSL_Key:
  Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
  Last_IO_Errno: 0
  Last_IO_Error:
  Last_SQL_Errno: 0
  Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
  Master_Server_Id: 0
  Master_UUID:
  Master_Info_File: /var/lib/mysql/master.info
  SQL_Delay: 0
  SQL_Remaining_Delay: NULL
  Slave_SQL_Running_State:
  Master_Retry_Count: 86400
  Master_Bind:
  Last_IO_Error_Timestamp:
  Last_SQL_Error_Timestamp:
  Master_SSL_Crl:
  Master_SSL_Crlpath:
  Retrieved_Gtid_Set:
  Executed_Gtid_Set:
  Auto_Position: 0
1 row in set (0.00 sec)

mysql start slave;
Query OK, 0 rows affected (0.01 sec)

mysql show slave status\G
*************************** 1. row ***************************
  Slave_IO_State: Waiting for master to send event
  Master_Host: 192.168.56.100
  Master_User: repliform
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: mysqld-bin.000001
  Read_Master_Log_Pos: 901
  Relay_Log_File: localhost-relay-bin.000002
  Relay_Log_Pos: 1065
  Relay_Master_Log_File: mysqld-bin.000001
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  Replicate_Do_DB:
  Replicate_Ignore_DB:
  Replicate_Do_Table: test.dept,test.emp
  Replicate_Ignore_Table:
  Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
  Last_Errno: 0
  Last_Error:
  Skip_Counter: 0
  Exec_Master_Log_Pos: 901
  Relay_Log_Space: 1242
  Until_Condition: None
  Until_Log_File:
  Until_Log_Pos: 0
  Master_SSL_Allowed: No
  Master_SSL_CA_File:
  Master_SSL_CA_Path:
  Master_SSL_Cert:
  Master_SSL_Cipher:
  Master_SSL_Key:
  Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
  Last_IO_Errno: 0
  Last_IO_Error:
  Last_SQL_Errno: 0
  Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
  Master_Server_Id: 100
  Master_UUID: 04ebf096-10cf-11e6-8077-080027e76b2b
  Master_Info_File: /var/lib/mysql/master.info
  SQL_Delay: 0
  SQL_Remaining_Delay: NULL
  Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
  Master_Retry_Count: 86400
  Master_Bind:
  Last_IO_Error_Timestamp:
  Last_SQL_Error_Timestamp:
  Master_SSL_Crl:
  Master_SSL_Crlpath:
  Retrieved_Gtid_Set:
  Executed_Gtid_Set:
  Auto_Position: 0
1 row in set (0.00 sec)

3. 测试同步效果
在主库上面插入数据
mysql insert into emp values (60), (70);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql insert into dept values (60), (70);
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql commit;
Query OK, 0 rows affected (0.00 sec)

在从库上面查看同步效果
mysql select * from test.emp;
+——+
| id  |
+——+
|  10 |
|  20 |
|  30 |
|  40 |
|  50 |
|  60 |
|  70 |
+——+
7 rows in set (0.00 sec)

mysql select * from test.dept;
+——–+
| deptno |
+——–+
|  10 |
|  20 |
|  30 |
|  40 |
|  50 |
|  60 |
|  70 |
+——–+
7 rows in set (0.00 sec)

到此,相信大家对“Mysql 5.6 库级表级复制的搭建方法”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计4786字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)