码迷,mamicode.com
首页 > 数据库 > 详细

Mysql主从级联复制

时间:2019-03-01 00:24:41      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:server-id   中间   复数   bsp   数据   master   刷新   mysq   adb   

场景1

  如果主节点已经运行了一段时间,且有大量数据时,如何配置并启动slave节点

    通过备份恢复数据至从服务器
·    复制起始位置为备份时,二进制日志文件及其POS:

   Mater 设置

  1) 修改配置文件

  2) 备份出数据库,会自动刷新日志,查看bin 日志

[root@mysql-master ~]# mysqldump -A -F --single-transaction --master-data=1 > /root/all.sql

MariaDB [(none)]> show binary logs;
+--------------------+-----------+
| Log_name           | File_size |
+--------------------+-----------+
| mariadb-bin.000001 |      2200 |
| mariadb-bin.000002 |       245 |
+--------------------+-----------+
2 rows in set (0.00 sec)

  3) 备份完成之后 随便创建点东西 或者空数据库

  Slave 设置

    1) 导入 Master 备份的数据

[root@mysql-node1 ~]# mysql < /root/all.sql 

    2) 链接数据库(因为导出的数据库里面已经有了,要指定的log,在此就不需要指定)

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=‘172.16.0.40‘,MASTER_USER=‘alave‘,MASTER_PASSWORD=‘123456‘;
MariaDB [(none)]> start slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

MariaDB [(none)]> show slave status\G

  

从服务器添加只读属性

  1、限制从服务器为只读

    在从服务器上设置readonly=ON

    注意:此限制对拥有SUPER权限的用户均无效

    阻止所有用户,包括主服务器复制的更新

    mysql> FLUSH TABLES WITH READ LOCK;

  

  1) 查看是否开启

MariaDB [(none)]> show variables like ‘read%‘;
+----------------------+--------+
| Variable_name        | Value  |
+----------------------+--------+
| read_buffer_size     | 131072 |
| read_only            | OFF    |
| read_rnd_buffer_size | 262144 |
+----------------------+--------+

  2) 修改配置文件开启read_only

 

  3) 查看是否开启

MariaDB [(none)]> show variables like ‘read%‘;
+----------------------+--------+
| Variable_name        | Value  |
+----------------------+--------+
| read_buffer_size     | 131072 |
| read_only            | ON     |
| read_rnd_buffer_size | 262144 |
+----------------------+--------+

  

 级联复制

如果要启用级联复制,需要在从服务器启用以下配置
  [mysqld]
  log_slave_updates

 实验:

  Mastr 配置和之前一样不变,导出数据库.等(注: 同步之前查看log ops)

  中间从服务器,导入sql,并且启动,进行同步,配置文件需要先加入以下信息

 [mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
innodb_file_per_table
server_id=2
read-only
log_slave_updates
log_bin

  Csalve配置

    1) 配置文件

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=3
read-only

    2) 链接(用户名可以Master 同步过去的用户<不行再创建一个在中间的从服务器>,服务器地址填中间从服务器)

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=‘172.16.0.41‘,MASTER_USER=‘vvve‘,MASTER_PASSWORD=‘123456‘,MASTER_LOG_FILE=‘mariadb-bin.000001‘,MASTER_LOG_POS=517706;
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show slave status\G

  

 

  

Mysql主从级联复制

标签:server-id   中间   复数   bsp   数据   master   刷新   mysq   adb   

原文地址:https://www.cnblogs.com/yanshicheng/p/10453844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!