主机网络模式mysql5.7_MySQL5.7在滴滴云主机上的主从复制

# MySQL5.7.9 主从同步配置

## 环境

- CentOS 6.9 X86_64

- MySQL 5.7.9

## 配置

本文以在[滴滴云](https://blog.didiyun.com)主机 DC2 上的操作为例。

首先要确定两台机器保证时间同步,然后确保两台机器已经安装好 MySQL5.7。

登录账号:root,密码:123123 这里不做赘述。

假设:

- MySQL-master:192.168.2.11

- MySQL-slave::192.168.2.12

- ntp-server:192.168.2.11

### Master 配置

在主服务器的 my.cnf 配置文件中,增加以下内容:

```

[mysqld]

log-bin=mysql-bin

log-slave-updates=true //手动添加,开启从日志

server-id=11

```

说明:

1. log-bin:开启二进制日志。该日志是在事务提交时写日志文件的。默认大小是 1G,后面加 001,002 这样的后缀顺加。

2. server-id:唯一标识主机。MySQL 主从每个 MySQL 实例配置都不一样就行,这个值默认是0,值为 0 时,主服务器拒绝任何从服务器的连接。

3. binlog_format = ROW 控制着日志格式。

接下来,重启 mysqld 进程:

```

[root@mysql-m ~]# /etc/init.d/mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL.. SUCCESS!

```

给从服务器授权:

```

[root@mysql-m ~]# mysql -uroot -p123123

mysql> grant replication slave on *.* to 'root'@'192.168.2.%' identified by '123123';

Query OK, 0 rows affected (0.00 sec)

```

记录一下 master 文件名称和偏移量:

```

mysql> show master status;

```

命令会输出 bin 文件名称和 pos 偏移量数值,记录下来给从配置使用。

### Slave 配置

在从服务器的 my.cnf 配置文件中,增加以下内容:

```

[mysqld]

relay-log=relay-log-bin

relay-log-index=slave-relay-bin.index

server-id = 12 //主从服务器的server-id不能相同!

```

接下来,重启 mysqld 进程:

```

[root@msyql-s ~]# /etc/init.d/mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL.. SUCCESS!

```

然后登录 MySQL,配置从模式,并指定主服务器:

```

[root@msyql-s ~]# mysql -uroot -p123123

mysql> change master to master_host='192.168.2.11',master_user='myslave',master_password='123123',master_log_file='mysql-bin.000002',master_log_pos=337; Query OK, 0 rows affected (0.02 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> show slave status \G;

*************************** 1. row ***************************

Slave_IO_State:

Master_Host: 192.168.2.11

Master_User: myslave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000002

Read_Master_Log_Pos: 337

Relay_Log_File: relay-log-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

部分输出截取

```

通过查看 slave 状态,确保 Slave_IO_Running: Yes 、Slave_SQL_Running: Yes 。

其中 mysql-bin.000002 和 pos = 337 是记录的主库的文件名和偏移量。

### 验证

在 MySQL 主服务器创建 db_test 数据库 :

```

mysql> create database db_test;

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| db_test |

| mysql |

| performance_schema |

| test |

+--------------------+

```

在从服务器查看是否数据同步:

```

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| db_test |

| mysql |

| performance_schema |

| test |

+--------------------+

5 rows in set (0.03 sec)

```

出现以上结果,表明验证成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2563425/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值