资讯专栏INFORMATION COLUMN

Mysql主从同步实战

RdouTyping / 775人阅读

摘要:之前写过一篇文章主从同步的原理。相信看过这篇文章的童鞋,都摩拳擦掌,跃跃一试了吧今天我们就来一次主从同步实战环境说明下面的实战演练,都是基于上面的环境。创建主从同步的。

1、Introduction

之前写过一篇文章:Mysql主从同步的原理。
相信看过这篇文章的童鞋,都摩拳擦掌,跃跃一试了吧?
今天我们就来一次mysql主从同步实战!

2、环境说明
os:ubuntu16.04
mysql:5.7.17

下面的实战演练,都是基于上面的环境。当然,其他环境也大同小异。

3、进入实战 工具

2台机器:

master IP:192.168.33.22
slave  IP:192.168.33.33
master机器上的操作 1、更改配置文件

我们找到文件 /etc/mysql/mysql.conf.d/mysqld.cnf
配置如下:

bind-address = 192.168.33.22 #your master ip
server-id = 1 #在master-slave架构中,每台机器节点都需要有唯一的server-id
log_bin = /var/log/mysql/mysql-bin.log #开启binlog
2、重启mysql,以使配置文件生效。
sudo systemctl restart mysql
3、创建主从同步的mysql user。
$ mysql -u root -p
Password:

##创建slave1用户,并指定该用户只能在主机192.168.33.33上登录。
mysql> CREATE USER "slave1"@"192.168.33.33" IDENTIFIED BY "slavepass";
Query OK, 0 rows affected (0.00 sec)

##为slave1赋予REPLICATION SLAVE权限。
mysql> GRANT REPLICATION SLAVE ON *.* TO "slave1"@"192.168.33.33";
Query OK, 0 rows affected (0.00 sec)
4、为MYSQL加读锁

为了主库与从库的数据保持一致,我们先为mysql加入读锁,使其变为只读。

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)
5、记录下来MASTER REPLICATION LOG 的位置

该信息稍后会用到。

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      613 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
6、将master DB中现有的数据信息导出
$ mysqldump -u root -p --all-databases --master-data > dbdump.sql
7、接触master DB的读锁
mysql> UNLOCK TABLES;
8、将步骤6中的dbdump.sql文件copy到slave
scp dbdump.sql ubuntu@192.168.33.33:/home/ubuntu
slave机器上的操作 1、更改配置文件

我们找到文件 /etc/mysql/mysql.conf.d/mysqld.cnf
更改配置如下:

bind-address = 192.168.33.33 #your slave ip
server-id = 2 #master-slave结构中,唯一的server-id
log_bin = /var/log/mysql/mysql-bin.log #开启binlog
2、重启mysql,以使配置文件生效
sudo systemctl restart mysql
3、导入从master DB。 导出的dbdump.sql文件,以使master-slave数据一致
$ mysql -u root -p < /home/ubuntu/dbdump.sql
4、使slave与master建立连接,从而同步
$ mysql -u root -p
Password:

mysql> STOP SLAVE;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CHANGE MASTER TO
    -> MASTER_HOST="192.168.33.22",
    -> MASTER_USER="slave1",
    -> MASTER_PASSWORD="slavepass",
    -> MASTER_LOG_FILE="mysql-bin.000001",
    -> MASTER_LOG_POS=613;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)

MASTER_LOG_FILE="mysql-bin.000001"MASTER_LOG_POS=613的值,是从上面的 SHOW MASTER STATUS 得到的。

经过如此设置之后,就可以进行master-slave同步了~

4、参考文章

HOW TO SETUP MYSQL 5.7 REPLICATION WITH MONITORING ON UBUNTU 16.04

更多精彩,请关注公众号“聊聊代码”,让我们一起聊聊“左手代码右手诗”的事儿。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47023.html

相关文章

  • Mysql主从同步的原理

    摘要:主从同步有什么好处水平扩展数据库的负载能力。主从同步的原理是什么首先我们来了解的体系结构。如此,就实现了主从同步了下面我们来详细的了解。在机器上的操作当主从同步开启的时候,上会创建个线程。 关于实战,请参考我的另一篇文章:Mysql主从同步实战 1、什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。 2、主从同步有什么好处...

    Achilles 评论0 收藏0
  • mysql主从读写分离实战

    摘要:环境主从配置配置服务器,从库最好大于主库注意要唯一开启模式强制一致性,开启后对特定的不被支持开启二进制日志默认为混合模式,更改成复制,为了数据一致性从库才会记录主库同步的操作日志跳过复制线程配置设置,注意要唯一从库设置为只 环境 mysql-5.7.19 Centos7 master: 192.168.111.64 slave: 192.168.111.66 主从配置 master...

    kelvinlee 评论0 收藏0
  • mysql主从读写分离实战

    摘要:环境主从配置配置服务器,从库最好大于主库注意要唯一开启模式强制一致性,开启后对特定的不被支持开启二进制日志默认为混合模式,更改成复制,为了数据一致性从库才会记录主库同步的操作日志跳过复制线程配置设置,注意要唯一从库设置为只 环境 mysql-5.7.19 Centos7 master: 192.168.111.64 slave: 192.168.111.66 主从配置 master...

    The question 评论0 收藏0
  • mysql主从读写分离实战

    摘要:环境主从配置配置服务器,从库最好大于主库注意要唯一开启模式强制一致性,开启后对特定的不被支持开启二进制日志默认为混合模式,更改成复制,为了数据一致性从库才会记录主库同步的操作日志跳过复制线程配置设置,注意要唯一从库设置为只 环境 mysql-5.7.19 Centos7 master: 192.168.111.64 slave: 192.168.111.66 主从配置 master...

    ephererid 评论0 收藏0
  • mysql 主从复制

    摘要:服务器环境主从复制实战配置原有配置基础上再选项加入如下代码配置主服务器要同步的数据库要同步的数据库配置原有配置基础上再选项加入如下代码从库配置要同步的数据库要同步的数据库重启进入控制台执行的值需要在控制台使 服务器环境mysql 主从复制实战 master ip 10.1.71.18 ubuntu mysql_version 5.7.11 slave ip 10.1....

    Steven 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<