Mysql5.7.13主从同步(复制)配置

主从同步是分布式mysql数据库相当重要的配置,现在我在虚拟机上完成主从配置,系统是CenterOS6.5,mysql版本是5.7.13

主服务器的ip是192.168.19.139 副服务器的ip是192.168.19.142

1.主服务器配置

(1)修改my.cnf(注意使用root)

 1 vim /etc/my.cnf
 2
 3
 4 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 5 log-bin=mysqlbin-log
 6 server_id=1
 7 basedir=/home/mysql
 8 user=mysql
 9 datadir=/home/mysql/data
10 port=3306
11 innodb_flush_log_at_trx_commit=1
12 sync_binlog=1
13 log-slave-updates

(2)进入mysql安装目录下的bin,启动mysql

1 cd /home/mysql/bin 2 ./mysqld

(3)重开启mysql客户端,进入mysql安装目录下的bin,授权副服务器主从复制,用mysqld的好处是可以查看错误。

1 ./mysql -uroot -p 2 mysql> grant replication slave on *.* to [email protected]192.168.19.142 identified by ‘123‘;

(4)显示主服务器状态

1 mysql> show master status;
2 +---------------------+----------+--------------+------------------+-------------------+
3 | File                | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
4 +---------------------+----------+--------------+------------------+-------------------+
5 | mysqlbin-log.000019 |     1290 |              |                  |                   |
6 +---------------------+----------+--------------+------------------+-------------------+

2.副服务器配置

(1)修改my.cnf(注意使用root)

 1 vim /etc/my.cnf
 2
 3 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE
 4 user=mysql
 5 server_id = 2
 6 replicate-do-db = sbfxd
 7 master-info-file = master.info
 8 relay-log = relay-relay-bin
 9 relay-log-index = relay-relay-bin.index
10 relay-log-info-file=relay-relay-log.info

(2)进入mysql安装目录下的bin,启动mysql

1 cd /home/mysql/bin 2 ./mysqld

(3)重开启mysql客户端,进入mysql安装目录下的bin,设置slave属性并开始服务

1 ./mysql -uroot -p
2 mysql> change master to master_host=‘192.168.19.139‘,master_port= 3306, master_log_file=‘mysqlbin-log.000019‘, master_log_pos= 1290, master_bind=‘‘;
3 mysql> start slave;

(4)显示副服务器的状态

 1 show slave status \G;
 2
 3             Slave_IO_State: Waiting for master to send event
 4                   Master_Host: 192.168.19.139
 5                   Master_User: test
 6                   Master_Port: 3306
 7                 Connect_Retry: 60
 8               Master_Log_File: mysqlbin-log.000019
 9           Read_Master_Log_Pos: 1290
10                Relay_Log_File: relay-relay-bin.000002
11                 Relay_Log_Pos: 323
12         Relay_Master_Log_File: mysqlbin-log.000019
13              Slave_IO_Running: Yes
14             Slave_SQL_Running: Yes
15               Replicate_Do_DB: sbfxd
16           Replicate_Ignore_DB:
17            Replicate_Do_Table:
18        Replicate_Ignore_Table:
19       Replicate_Wild_Do_Table:
20   Replicate_Wild_Ignore_Table:
21                    Last_Errno: 0
22                    Last_Error:
23                  Skip_Counter: 0
24           Exec_Master_Log_Pos: 1290
25               Relay_Log_Space: 530
26               Until_Condition: None
27                Until_Log_File:
28                 Until_Log_Pos: 0
29            Master_SSL_Allowed: No
30            Master_SSL_CA_File:
31            Master_SSL_CA_Path:
32               Master_SSL_Cert:
33             Master_SSL_Cipher:
34                Master_SSL_Key:
35         Seconds_Behind_Master: 0
36 Master_SSL_Verify_Server_Cert: No
37                 Last_IO_Errno: 0
38                 Last_IO_Error:
39                Last_SQL_Errno: 0
40                Last_SQL_Error:
41   Replicate_Ignore_Server_Ids:
42              Master_Server_Id: 1
43                   Master_UUID: 05408021-5ab2-11e6-869b-000c293990c1
44              Master_Info_File: /home/mysql/data/master.info
45                     SQL_Delay: 0
46           SQL_Remaining_Delay: NULL
47       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
48            Master_Retry_Count: 86400
49                   Master_Bind:
50       Last_IO_Error_Timestamp:
51      Last_SQL_Error_Timestamp:
52                Master_SSL_Crl:
53            Master_SSL_Crlpath:
54            Retrieved_Gtid_Set:
55             Executed_Gtid_Set:
56                 Auto_Position: 0
57          Replicate_Rewrite_DB:
58                  Channel_Name:
59            Master_TLS_Version:

出现两个yes表示slave可以跑了

3.注意事项:

(1)楼主的虚拟机是通过克隆产生的,所以不需要对mysql进行备份,然后在副服务器上恢复,这步对于数据库极其重要,否则就会出现如下错误:

1 2016-08-17T03:11:27.579193Z 5 [ERROR] Slave SQL for channel ‘‘: Error executing row event: ‘Table ‘sbfxd.sbtable‘ doesn‘t exist‘, Error_code: 1146
2 2016-08-17T03:11:27.584268Z 5 [Warning] Slave: Table ‘sbfxd.sbtable‘ doesn‘t exist Error_code: 1146

(2)如果将主服务器的属性配错了需要stop slave,然后设置好之后start slave

时间: 2024-10-18 00:40:48

Mysql5.7.13主从同步(复制)配置的相关文章

mysql5.5主从同步复制配置

在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64bit,如下: cat /

烂泥:mysql5.5主从同步复制配置

本文首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64b

ssdb 主从同步复制配置详细步骤

SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 '#' 号开始的行是注释.  ssdb的使用遵循redis协议,读写性能都特别快. 有时我们在使用数据库时,像mongodb,redis和一些关系行数据,为了使数据更加安全,作为备份使用我们经常习惯使用主从复制架构,当主机上的数据出现问题时,我们就可以连接到slave机器 也就是另外一台机器会从主机上进行同步数据,如果我们使用linux命令 netstat -apn,会发现slave

mysql-5.6.x半同步复制配置

本文环境   主库:CentOS6.5 x64 192.168.0.65 mysql-5.6.29    备库:CentOS6.5 x64 192.168.0.66 mysql-5.6.29 接上文: mysql-5.6主从同步配置示例http://koumm.blog.51cto.com/703525/1764093 半同步复制的概念:    mysql5.5.x以上版本支持半同步复制,当Slave主机连接到Master时,能够查看其是否处于半同步复制的机制.当Master上开启半同步复制的功

MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)

MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)本篇文章主要介绍了MySQL5.6 数据库主从同步安装与配置详解,具有一定的参考价值,有兴趣的可以了解一下.安装环境 操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27 主机A:192.168.1.1 (Master) 主机B:192.168.1.2 (Slave) 这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的. 本人在进行配置的时候,也遇到了这个坑,这里提前说明,希望

MySQL的3节点主从同步复制方案

上篇文章<为什么要对MySQL做主从同步复制>我们说明了MySQL主从同步的作用,主从同步的原理和主从同步的缺点.下面我们介绍下3节点中:2个节点互为主从,1个节点作为前2个节点的从,用于实现MySQL5.6的3节点主从同步复制方案. 主要步骤如下: 1.配置MasterA端同步复制时所需要的选项 2.在MasterA主库上创建同步复制时的用户并授权 3.MasterA主库锁表 4.记录MasterA主库的binlog以及pos位置节点 5.导出MasterA主库m_s_rep数据库 6.配置

基于centos6的mysql5.7.13主从部署(二)

基于centos6的mysql5.7.13主从部署(二) 一.部署主mysql说明:mysql1是主机,mysql2是备机. 创建库 [[email protected] ~]# mysql -uroot -p123456 mysql> create database shiyan; mysql> exit Bye 将mysql库拷贝到shiyan库中 [[email protected] ~]# mysqldump -uroot -p123456 mysql > 234.sql [[e

MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。

MySQL想必大家都不陌生,之前文章也有介绍同步复制与半同步复制,今天先来了解下什么是GTID. GTID(global transaction ID)全局事务ID,是由服务器的UUID+一段随机数事务ID. 特性:从服务器从主服务器复制过来的事务,GTID不变,也就是说一个事务在全局复制架构中的ID不变. 有什么用: 在MySQL集群中,当Master故障时,需要从Slave中挑选一个提升为Master可以基于GTID对比其他Slave来保证数据的一致性. MySQL主从同步如何配置数据过滤

基于centos6的mysql5.7.13主从部署(一)

基于centos6的mysql5.7.13主从部署(一) 一.实验环境: 两台主机安装Centos6.7 32位操作系统: 两台Linux安装同一版本的MySQL,这里使用mysql5.7.13: mysql1的IP:192.168.100.129 mysql2的IP:192.168.100.128 二.部署过程: 说明: 关于mysql的详细安装过程,可以参考博客:http://wutengfei.blog.51cto.com/10942117/1931482,这里简单写下linux6版本安装