精华内容
下载资源
问答
  • 12.1: MySQL主从同步主从同步模式 、 总结和答疑.docx
  • mysql主从同步,主从同步模式

    千次阅读 2018-08-30 11:59:01
    一、什么是mysql主从同步 主:正在被客户端访问的数据库服务器,被称作主库服务器。 从:自动同步主库上的数据的数据库服务器,被称作从库服务器。 二、配置mysql主从同步 2.1 拓扑图 数据库服务器 192.168....

    一、什么是mysql主从同步
    主:正在被客户端访问的数据库服务器,被称作主库服务器。
    从:自动同步主库上的数据的数据库服务器,被称作从库服务器。
    二、配置mysql主从同步
    2.1 拓扑图
    数据库服务器 192.168.4.10 做主库
    数据库服务器 192.168.4.20 做从库
    2.2 环境准备
    主从同步未配置之前,要保证从库上要有主库上的数据。
    禁用selinux ]# setenforce 0
    关闭防火墙服务]# systemctl stop firewalld
    物理连接正常 ]# ping -c 2 192.168.4.51/52
    数据库正常运行,管理可以从本机登录
    2.3 配置mysql主从同步
    基本构建思路
    1. 确保数据相同
    – 从库必须要有主库上的数据。
    2. 配置主服务器
    – 启用 binlog 日志及设置格式,设置 server_id, 授权用户
    3. 配置从服务器
    – 设置 server_id ,指定主数据库服务器信息
    4. 测试配置
    – 客户端连接主库,写入的数据,在连接从库的时候也能够访问到。
    2.3.1 配置主库(192.168.4.51)
    1. 做用户授权
    mysql> grant replication slave on .
    -> to
    -> repluser@”192.168.4.52”
    -> identified by “123456”;
    2. 启用binlog日志
    ]# vim /etc/my.cnf
    [mysqld]
    server_id=51
    log-bin=master51
    binlog-format=”mixed”

    ]# systemctl restart mysqld
    ]# ls /var/lib/mysql/master51.*
    /var/lib/mysql/master51.000001 /var/lib/mysql/master51.index
    3. 查看正在使用binlog日志信息
    ]#mysql -uroot -p123456
    mysql> show master status;
    2.3.2 配置从库
    1. 验证主库的用户授权
    ]# mysql -h192.168.4.51 -urepluser -p123456
    mysql> show grants;
    mysql> quit;
    2. 指定server_id
    ]# vim /etc/my.cnf
    [mysqld]
    server_id=52
    :wq
    ]# systemctl restart mysqld
    3.数据库管理员本机登录,指定主数据库服务器的信息
    ]#mysql -uroot -p123456
    mysql> change master to
    -> master_host=”192.168.4.51”,
    -> master_user=”repluser”,
    -> master_password=”123456”,
    -> master_log_file=”master51.000001”,
    -> master_log_pos=154;
    4.启动slave进程
    mysql> start slave;
    5.查看进程状态信息
    mysql> show slave status\G;
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    相关命令
    mysql> show slave status; # 显示从库状态信息
    mysql> show master status; #显示本机的binlog日志文件信息
    mysql> show processlist; #查看当前数据库服务器上正在执行的程序
    mysql> start slave ; #启动slave 进程
    mysql> stop slave ; #停止slave 进程
    2.4 在客户端测试主从同步配置
    2.4.1 在主库服务器上添加连接用户
    ]# mysql -uroot -p123456
    mysql> grant all on bbsdb.* to webadmin@”%” identified by “123456”;
    mysql>select user,host from mysql.user where user=”webadmin”;
    mysql> quit;
    2.4.2 客户端使用主库的授权用户,连接主库服务器,建库表插入记录
    254]# mysql -h192.168.4.51 -uwebadmin -p123456
    mysql> 建库 建表 插入记录
    2.4.3 在从库本机,使用管理员登录查看是否有和主库一样库表记录
    52]# mysql -uroot -p123456
    mysql> select * from 库.表;
    2.4.4 客户端使用主库的授权用户,连接从库服务器,也可以看到新建的库表及记录
    254]# mysql -h192.168.4.52 -uwebadmin -p123456
    mysql> select * from 库.表;
    三、mysql主从同步的工作原理
    3.1 从库数据库目录下的文件
    文件名 说明
    master.info 记录主库信息
    主机名-relay-bin.XXXXXX 中继日志文件,记录主库上执行过的sql命令
    主机名-relay-bin.index 索引文件,记录当前已有的中继日志文件
    relay-log.info 中继日志文件,记录当前使用的中继日志信息
    3.2 从库IO线程 和SQL线程的作用
    IO线程 把主库binlog日志里的sql命令记录到本机的中继日志文件
    SQL线程 执行本机中继日志文件里的sql命令,把数据写进本机。

    mysql> show processlist;
    Binlog Dump //主库binlog日志发生改变了,这个线程会通知从库可以过来同步了
    3.2.1 IO线程报错原因
    从库连接主库失败(ping grant firewalld selinux)
    从库指定主库的日志信息错误(日志名 偏移量)
    Last_IO_Error: 报错信息
    修改步骤:
    mysql> stop slave;
    mysql> change master to 选项=”值”;
    mysql> start slave;
    3.2.2 SQL线程报错原因
    执行本机中继日志文件里的sql命令,用到库或表在本机不存在。
    Last_SQL_Error: 报错信息
    3.2.3 设置从库暂时不同步主库的数据
    在从库上把slave 进程停止
    mysql> stop slave;
    3.2.4把从库恢复成独立的数据库服务器
    ]# rm -rf /var/lib/mysql/master.info
    ]# rm -rf 主机名-relay-bin.XXXXXX 主机名-relay-bin.index relay-log.info
    ]# systemctl restart mysqld
    四、mysql主从同步结构模式
    一主一从 *
    一主多从 *
    主从从[mysqld]
    log_slave_updates #级联复制
    relay_log=中继日志文件名
    replicate_do_db=库名列表 #只同步的库
    replicate_ignore_db=库名列表 #只不同步的库
    主主结构(又称作互为主从)
    五、mysql主从同步常用配置参数
    5.1 主库配置文件my.cnf 使用的参数
    选项 用途
    binlog_do_db=name 设置 Master 对哪些库记日志
    binlog_ignore_db=name 设置 Master 对哪些库不记日志
    ]#vim /etc/my.cnf
    [mysqld]
    binlog_do_db=库名列表 #只允许同步库
    Binlog_Ignore_DB=库名列表 #只不允许同步库
    ]# systemctl restart mysqld
    5.2 从库在配置文件my.cnf 使用的参数
    选项 用途
    log_slave_updates 记录从库更新,允许链式复制( A-B-C )
    relay_log=dbsvr2-relay-bin 指定中继日志文件名
    replicate_do_db=mysql 仅复制指定库,其他库将被忽略,此选项可设置多条(省略时复制所有库)
    replicate_ignore_db=test 不复制哪些库,其他库将被忽略, ignore-db 与 do-db 只需选用其中一种
    ]# vim /etc/my.cnf
    [mysqld]
    log_slave_updates #级联复制
    relay_log=中继日志文件名
    replicate_do_db=库名列表 #只同步的库
    replicate_ignore_db=库名列表 #只不同步的库
    ]# systemctl restart mysqld
    5.3 配置mysql主从从结构
    主库 192.168.4.51
    从库 192.168.4.52 ( 做51主机从库)
    从库 192.168.4.53 ( 做52主机从库)
    要求:客户端访问主库51 时 创建库表记录 在52 和53 数据库服务器都可以看到
    5.3.1环境准备
    主从同步未配置之前,要保证从库上要有主库上的数据。
    禁用selinux ]# setenforce 0
    关闭防火墙服务]# systemctl stop firewalld
    物理连接正常 ]# ping -c 2 192.168.4.51/52
    数据库正常运行,管理可以从本机登录
    5.3.2配置主从同步
    一、配置主库51
    1. 用户授权
    mysql> grant replication slave on . to repluser@’192.168.4.52’ identified by “123456”;
    2. 启用binlog日志
    vim /etc/my.cnf
    [mysqld]
    server_id=51
    log-bin
    binlog-format=”mixed”
    3. 查看正在使用的日志信息
    mysql> show master status;
    二、配置从库52
    1.用户授权
    mysql> grant replication slave on . to repluser@’192.168.4.53’ identified by ‘123456’;
    2.启用binlog日志,指定server_id 和 允许级联复制
    vim /etc/my.cnf
    [mysqld]
    server_id=52
    log-bin
    binlog-format=”mixed”
    log_slave_updates
    3.查看正在使用的日志信息
    mysql> show master status;
    4.验证主库的授权用户
    mysql -h192.168.4.51 -urepluser -p123456
    5.管理员登.录指定主库信息
    mysql> change master to
    -> master_host=”192.168.4.51”,
    -> master_user=”repluser”,
    -> master_password=”123456”,
    -> master_log_file=”host51-bin.000001”,
    -> master_log_pos=154;
    6.启动slave进程
    mysql> start slave;
    7.查看进程状态信息
    mysql> show slave status\G;
    三、配置从库53
    1.验证主库的授权用户
    ]# mysql -h192.168.4.52 -urepluser -p123456
    2.指定server_id
    [mysqld]
    server_id=53
    3.管理员登录指定主库信息
    mysql> change master to
    -> master_host=”192.168.4.52”,
    -> master_user=”repluser”,
    -> master_password=”123456”,
    -> master_log_file=”host53-bin.000001”,
    -> master_log_pos=452;
    4.启动slave进程
    mysql> start slave;
    查看进程状态信息
    mysql> show slave status\G;
    5.3.3 客户端验证配置
    1 在主库上授权访问client库的用户
    mysql> grant all on . to client@’%’ identified by “123456”;
    2 客户端使用授权用户连接主库,建库、表、插入记录
    mysql> create database lijunDB;
    3 客户端使用授权用户连接2台从库时,也可以看到主库上新的库表记录
    [root@host52 mysql]# mysql -uroot -p’123456’
    mysql> show databases;

    [root@host53 mysql]# mysql -uroot -p’123456’
    mysql> show databases; [结果同上]
    六、mysql主从同步复制模式
    复制模式介绍
    • 异步复制( Asynchronous replication )
    – 主库在执行完客户端提交的事务后会立即将结果返给
    客户端,并不关心从库是否已经接收并处理。
    • 全同步复制( Fully synchronous replication )
    – 当主库执行完一个事务,所有的从库都执行了该事务
    才返回给客户端。
    • 半同步复制( Semisynchronous replication )
    – 介于异步复制和全同步复制之间,主库在执行完客户
    端提交的事务后不是立刻返回给客户端,而是等待至
    少一个从库接收到并写到 relay log 中才返回给客户端
    6.1 半同步赋值模式配置
    查看是否可以动态加载模块
    – 默认允许
    mysql> show variables like “have_dynamic_loading”;
    6.1.1 命令行加载插件
    一、安装模块
    1.主库安装的模块
    mysql> install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
    2.从库安装的模块
    mysql> install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
    3.查看系统库下的表,模块是否安装成功
    mysql> select plugin_name,plugin_status from
    information_schema.plugins where
    plugin_name like ‘%semi%’;

    二、启用半同步复制模式
    1.启用主库半同步复制模式
    mysql> set global rpl_semi_sync_master_enabled=1;
    2.启用主库半同步复制模式
    mysql> set global rpl_semi_sync_slave_enabled=1;
    3.查看半同步复制模式是否启用
    mysql> show variables like “rpl_semi_sync_%_enabled”;
    修改配置文件/etc/my.cnf 让安装模块和启用的模式永久生效。
    6.1.2 配置文件加载插件
    1.主库配置文件
    vim /etc/my.cnf
    [mysqld]
    plugin-load=rpl_semi_sync_master=semisync_master.so
    rpl_semi_sync_master_enabled=1
    2.从库配置文件
    vim /etc/my.cnf
    [mysqld]
    plugin-load=rpl_semi_sync_slave=semisync_slave.so
    rpl_semi_sync_slave_enabled=1
    3.既做主又做从
    vim /etc/my.cnf
    [mysqld]
    plugin-load = “rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so”
    rpl-semi-sync-master-enabled = 1
    rpl-semi-sync-slave-enabled = 1

    展开全文
  • MySQL主从同步 1,主从同步介绍 主从同步原理 主从同步原理(1) Master 启用binlog日志 Slave Slave_IO:复制master主机 binlog日志文件里的SQL命令到本机的relay-log文件里。 Slave_SQL: 执行本机relay-log...

    MySQL主从同步

    1,主从同步介绍
    在这里插入图片描述
    主从同步原理
    在这里插入图片描述
    主从同步原理(1)
    Master

    启用binlog日志

    Slave

    Slave_IO:复制master主机 binlog日志文件里的SQL命令到本机的relay-log文件里。
    Slave_SQL: 执行本机relay-log文件的SQL语句,实现与Master数据一致。

    2,构建主从同步

    构建思路(1)

    配置主服务器

      启用binlog日志,授权用户,查看binlog日式信息
    

    配置从服务器

         -设置server_id
         -确保与主服务器数据一致
         -指定主库信息
         -启动slave程序
         -查看状态信息
    

    配置主服务器(操作1)

    在这里插入图片描述
    授权用户(2)
    在这里插入图片描述
    查看日志信息(3)
    在这里插入图片描述
    配置从服务器(4)
    在这里插入图片描述
    确保主从数据统一(5)

    在这里插入图片描述
    配置从服务器信息(6)
    在这里插入图片描述
    查看状态(7)
    主要以下两项(slave_IO_Running:yes)
    ( slave_SQL_Running:yes)
    在这里插入图片描述
    从服务器的相关文件(8)
    存放在/var/lib/mysql
    在这里插入图片描述
    结构类型
    在这里插入图片描述
    配置一主多从(9)
    和一主多从一样,修改从配置文件(server_Id 不能重复)指定主服务器的信息
    在这里插入图片描述
    配置主从从结构(10)
    拓扑结构
    在这里插入图片描述
    配置第一台主服务器(11)
    在这里插入图片描述
    配置从服务器(12)
    在这里插入图片描述
    配置54的从服务器(13)
    在这里插入图片描述
    测试步骤
    在这里插入图片描述
    复制模式介绍
    在这里插入图片描述
    查看是否允许动态加载模块

    1. 默认允许
    2. mysql> show variables like ’ have_dynamic_loading’;
      在这里插入图片描述
      模块配置
      在这里插入图片描述
      永久启用半同步复制
      在这里插入图片描述
      配置模式同时启用
      在这里插入图片描述
      故障分析及排查
      在这里插入图片描述
    展开全文
  • MySQL主从同步 主从同步介绍 实现数据自动同步的服务结构 主服务器:接受客户端访问链接 从服务器:自动同步主服务器数据 拓扑结构 主从同步原理 Master -启用binlog日志 slave -slave_IO:复制...

    DBA进阶

    MySQL主从同步

    主从同步介绍

    • 实现数据自动同步的服务结构
    • 主服务器:接受客户端访问链接
    • 从服务器:自动同步主服务器数据

     

    拓扑结构

    主从同步原理

     

    Master

    -启用binlog日志

    slave

    -slave_IO:复制master主机binlog日志文件里的SQL命令到本机的relay-log文件里

    -selaveSQL:执行本机的relay-log文件里的SQL语句,实现与Master数据一致

     

    构建主从同步

    构建思路

    配置主服务器

    -启用binlog日志,授权用户,查看binlog日志信息

    配置从服务器

    -设置server_id

    -确保与主服务器数据一致

    -制定主库信息

    -启动slave程序

    -查看状态信息

     

    配置主服务器

    修改主配置文件

    -启用binlog日志 并重启服务

    授权用户

    • 用户权限replication slave
    • 用户名自定义
    • 客户端地址允许从服务器连接
    • 密码自定义

     

    查看日志信息

     

    配置从服务器

    修改主配置文件my.cnf

    -server_id 不允许与主服务器server_id值相同

     

    确保与主服务数据一致

    • 在主服务器上备份数据,将备份文件拷贝给从服务器
    • 从服务器使用备份文件恢复数据
    • 在从服务器查看备份文件记录的binlog日志信息

     

    指定主服务器信息

     

    查看slave状态

    确认IO线程、SQL线程都是YES状态

     

    相关文件

    -存放在数据库目录下

     

    主从同步模式

    主从同步结构

    结构类型

    拓扑结构

     

    配置从服务器

    配置从服务器53

     

    配置主从从

    拓扑机构

     

    配置主服务器53

    配置步骤

    • 启用binlog日志
    • 重启数据库服务
    • 用户授权

     

    配置从服务器54

    配置步骤

    • 修改配置文件
    • 用户授权
    • 指定主库信息
    • 启动slave进程

     

    配置从服务器55

    配置步骤

    • 修改配置文件
    • 指定主库信息
    • 启动slave进程

     

    测试配置

    测试步骤

    • 在主库授权访问数据的连接用户
    • 客户端连接主库,执行与权限匹配的sql操作
    • 授权用户连接第一台从库,可以看到主库的数据
    • 授权用户连接第二台从库,可以看到主库的数据

     

    复制模式

    复制模式介绍

    异步复制(Asynchronous relication)

    -主服务器执行完一次事务后,立即将结果返回给客户端,不关心从服务器是否已完成同步数据

    半同步复制(Semisynchronous relication)

    -介于异步同步和完全同步之间

    -主服务器在执行完一次事务后,等待至少一台从服务器同步数据完成,才将结果返回给客户端

     

    模式配置

    查看是否允许动态加载模块

    -默认允许

     

    命令行加载插件

    使用数据库管理员root用户连接服务配置

     

    启动半同步复制

    -半同步复制,默认是关闭的

     

    永久启用半同步复制

    -修改主配置文件 /etc/my.cnf

    -在[mysqld]下添加

     

    使用master和slave两种角色时须同时启用

     

     

    展开全文
  • 主要介绍了MySQL主从同步原理介绍,本文讲解了主从同步概述、主从同步需求、主从同步过程等内容,需要的朋友可以参考下
  • mysql主从同步配置

    2019-10-18 16:27:41
    mysql主从同步配置 mysql主从同步配置 mysql主从同步配置
  • 一、什么是mysql主从同步 主:正在被客户端访问的数据库服务器,被称作主库服务器。 从:自动同步主库上的数据的数据库服务器,被称作从库服务器。 二、配置mysql主从同步 2.1 拓扑图 数据库服务器 192.168....

    一、什么是mysql主从同步

    主:正在被客户端访问的数据库服务器,被称作主库服务器。
    从:自动同步主库上的数据的数据库服务器,被称作从库服务器。

    二、配置mysql主从同步

    2.1 拓扑图

    数据库服务器 192.168.4.10  做主库
    数据库服务器 192.168.4.20  做从库

    2.2  环境准备

    主从同步未配置之前,要保证从库上要有主库上的数据。
    禁用selinux    ]#  setenforce  0 
    关闭防火墙服务]# systemctl  stop firewalld
    物理连接正常 ]#  ping   -c   2   192.168.4.51/52
    数据库正常运行,管理可以从本机登录

    2.3 配置mysql主从同步

    基本构建思路
    1. 确保数据相同
    – 从库必须要有主库上的数据。
    2. 配置主服务器
    – 启用 binlog 日志及设置格式,设置 server_id, 授权用户
    3. 配置从服务器
    – 设置 server_id ,指定主数据库服务器信息
    4. 测试配置
    – 客户端连接主库,写入的数据,在连接从库的时候也能够访问到。

    2.3.1 配置主库(192.168.4.51)

    1. 做用户授权
    mysql> grant  replication  slave  on  *.*  
        -> to 
        -> repluser@”192.168.4.52”
        -> identified by “123456”;

    2. 启用binlog日志
    ]# vim  /etc/my.cnf

    1. [mysqld]
    2. server_id=51
    3. log-bin=master51
    4. binlog-format=“mixed”

    ]# systemctl  restart   mysqld

    ]# ls /var/lib/mysql/master51.*
    /var/lib/mysql/master51.000001  /var/lib/mysql/master51.index

    3. 查看正在使用binlog日志信息
    ]#mysql  -uroot   -p123456
    mysql> show  master  status;

    2.3.2  配置从库

    1. 验证主库的用户授权
    ]# mysql -h192.168.4.51 -urepluser -p123456
    mysql>  show   grants;
    mysql>  quit;

    2. 指定server_id
    ]# vim  /etc/my.cnf
    [mysqld]
    server_id=52
    :wq
    ]# systemctl  restart mysqld
    3.数据库管理员本机登录,指定主数据库服务器的信息
    ]#mysql  -uroot   -p123456
    mysql> change  master  to
        -> master_host=”192.168.4.51”,
        -> master_user=”repluser”,
        -> master_password=”123456”,
        -> master_log_file=”master51.000001”,
        -> master_log_pos=154;
    4.启动slave进程
    mysql> start slave;

    5.查看进程状态信息
    mysql> show slave status\G;
                Slave_IO_Running: Yes
                Slave_SQL_Running: Yes

    相关命令
    mysql> show  slave  status;  # 显示从库状态信息
    mysql> show master status;  #显示本机的binlog日志文件信息
    mysql> show  processlist;  #查看当前数据库服务器上正在执行的程序
    mysql> start  slave ; #启动slave 进程
    mysql> stop  slave ; #停止slave 进程

    2.4 在客户端测试主从同步配置

    2.4.1  在主库服务器上添加连接用户

    ]# mysql  -uroot  -p123456
    mysql> grant all  on bbsdb.*  to  webadmin@”%”  identified  by “123456”;
    mysql>select user,host from  mysql.user where  user=”webadmin”;
    mysql> quit;

    2.4.2  客户端使用主库的授权用户,连接主库服务器,建库表插入记录

    254]# mysql   -h192.168.4.51  -uwebadmin  -p123456
    mysql> 建库  建表 插入记录

    2.4.3  在从库本机,使用管理员登录查看是否有和主库一样库表记录

    52]# mysql   -uroot  -p123456
    mysql> select  * from  库.表;

    2.4.4 客户端使用主库的授权用户,连接从库服务器,也可以看到新建的库表及记录

    254]# mysql   -h192.168.4.52  -uwebadmin  -p123456
    mysql> select  * from  库.表;

    三、mysql主从同步的工作原理

    3.1 从库数据库目录下的文件

    文件名 说明
    master.info 记录主库信息
    主机名-relay-bin.XXXXXX 中继日志文件,记录主库上执行过的sql命令
    主机名-relay-bin.index 索引文件,记录当前已有的中继日志文件
    relay-log.info 中继日志文件,记录当前使用的中继日志信息

    3.2 从库IO线程 和SQL线程的作用

    IO线程  把主库binlog日志里的sql命令记录到本机的中继日志文件
    SQL线程  执行本机中继日志文件里的sql命令,把数据写进本机。

    mysql> show   processlist;
    Binlog Dump   //主库binlog日志发生改变了,这个线程会通知从库可以过来同步了

    3.2.1 IO线程报错原因

    从库连接主库失败(ping   grant   firewalld  selinux)
    从库指定主库的日志信息错误(日志名   偏移量)

    Last_IO_Error: 报错信息

    修改步骤:
    mysql> stop  slave;
    mysql>  change  master  to   选项=”值”;
    mysql> start  slave;

    3.2.2 SQL线程报错原因 

    执行本机中继日志文件里的sql命令,用到库或表在本机不存在。

    Last_SQL_Error: 报错信息

    3.2.3 设置从库暂时不同步主库的数据

    在从库上把slave 进程停止 
    mysql> stop  slave;

    3.2.4把从库恢复成独立的数据库服务器

    ]# rm -rf  /var/lib/mysql/master.info
    ]# rm  -rf   主机名-relay-bin.XXXXXX   主机名-relay-bin.index   relay-log.info
    ]# systemctl  restart mysqld

    四、mysql主从同步结构模式

    一主一从  ***
    一主多从  ***
    主从从
    主主结构(又称作互为主从)

    五、mysql主从同步常用配置参数

    5.1 主库配置文件my.cnf 使用的参数

                        选项                       用途
    binlog_do_db=name 设置 Master 对哪些库记日志
    binlog_ignore_db=name 设置 Master 对哪些库不记日志

    ]#vim /etc/my.cnf

    1. [mysqld]
    2. binlog_do_db=库名列表   #只允许同步库
    3. Binlog_Ignore_DB=库名列表    #只不允许同步库

    ]#  systemctl  restart  mysqld

    5.2 从库在配置文件my.cnf 使用的参数

                   选项                                用途
    log_slave_updates 记录从库更新,允许链式复制( A-B-C )
    relay_log=dbsvr2-relay-bin 指定中继日志文件名
    replicate_do_db=mysql 仅复制指定库,其他库将被忽略,此选项
    可设置多条(省略时复制所有库)
    replicate_ignore_db=test 不复制哪些库,其他库将被忽略, ignore-db 与 do-db 只需选用其中一种

    ]# vim /etc/my.cnf

    1. [mysqld]
    2. log_slave_updates    #级联复制
    3. relay_log=中继日志文件名
    4. replicate_do_db=库名列表   #只同步的库
    5. replicate_ignore_db=库名列表   #只不同步的库

    ]#  systemctl  restart  mysqld

    5.3 配置mysql主从从结构

    主库  192.168.4.51
    从库  192.168.4.52 ( 做51主机从库)
    从库  192.168.4.53 ( 做52主机从库)
    要求:客户端访问主库51 时 创建库表记录 在52 和53 数据库服务器都可以看到

    5.3.1环境准备

    主从同步未配置之前,要保证从库上要有主库上的数据。
    禁用selinux    ]#  setenforce  0 
    关闭防火墙服务]# systemctl  stop firewalld
    物理连接正常 ]#  ping   -c   2   192.168.4.51/52
    数据库正常运行,管理可以从本机登录

    5.3.2配置主从同步

    一、配置主库51

    1. 用户授权
    mysql> grant replication slave on *.* to repluser@’192.168.4.52’ identified by “123456”;
    2. 启用binlog日志
    [mysqld]
    server_id=51
    log-bin
    binlog-format=”mixed”
    3. 查看正在使用的日志信息
    mysql> show master status;

    二、配置从库52

    1.用户授权
    mysql> grant replication slave on *.* to repluser@’192.168.4.53’ identified by ‘123456’;
    2.启用binlog日志,指定server_id  和 允许级联复制
    [mysqld]
    server_id=52
    log-bin
    binlog-format=”mixed”
    log_slave_updates
    3.查看正在使用的日志信息
    mysql> show master status;
    4.验证主库的授权用户
    mysql -h192.168.4.51 -urepluser -p123456
    5.管理员登.录指定主库信息
    mysql> change master to 
        -> master_host=”192.168.4.51”,
        -> master_user=”repluser”,
        -> master_password=”123456”,
        -> master_log_file=”host51-bin.000001”,
        -> master_log_pos=154;
    6.启动slave进程
    mysql> start slave;
    7.查看进程状态信息
    mysql> show slave status\G;

    三、配置从库53

    1.验证主库的授权用户
    ]# mysql -h192.168.4.52 -urepluser -p123456
    2.指定server_id
    [mysqld]
    server_id=53
    3.管理员登录指定主库信息
    mysql> change master to 
        -> master_host=”192.168.4.52”,
        -> master_user=”repluser”,
        -> master_password=”123456”,
        -> master_log_file=”host53-bin.000001”,
        -> master_log_pos=452;
    4.启动slave进程
    mysql> start slave;
    查看进程状态信息
    mysql> show slave status\G;

    5.3.3 客户端验证配置

    1 在主库上授权访问client库的用户

    mysql> grant all on *.*  to client@’%’ identified by “123456”;
    2 客户端使用授权用户连接主库,建库、表、插入记录

    mysql> create database lijunDB;
    3 客户端使用授权用户连接2台从库时,也可以看到主库上新的库表记录

    [root@host52 mysql]# mysql -uroot -p’123456’
    mysql> show databases;

    [root@host53 mysql]# mysql -uroot -p’123456’
    mysql> show databases; [结果同上]

    六、mysql主从同步复制模式 

    复制模式介绍
    • 异步复制( Asynchronous replication )
    – 主库在执行完客户端提交的事务后会立即将结果返给
    客户端,并不关心从库是否已经接收并处理。
    • 全同步复制( Fully synchronous replication )
    – 当主库执行完一个事务,所有的从库都执行了该事务
    才返回给客户端。
    • 半同步复制( Semisynchronous replication )
    – 介于异步复制和全同步复制之间,主库在执行完客户
    端提交的事务后不是立刻返回给客户端,而是等待至
    少一个从库接收到并写到 relay log 中才返回给客户端

    6.1 半同步赋值模式配置

    查看是否可以动态加载模块
    – 默认允许
    mysql> show variables like  “have_dynamic_loading”;

    6.1.1 命令行加载插件

    一、安装模块

    1.主库安装的模块
    mysql> INSTALL PLUGIN rpl_semi_sync_master  SONAME ‘semisync_master.so’;

    2.从库安装的模块
    mysql>  INSTALL PLUGIN rpl_semi_sync_slave  SONAME ‘semisync_slave.so’;

    3.查看系统库下的表,模块是否安装成功
    mysql> SELECT   PLUGIN_NAME ,  PLUGIN_STATUS 
    FROM   INFORMATION_SCHEMA.PLUGINS  WHERE 
    PLUGIN_NAME  LIKE   ‘%semi%’;

    二、启用半同步复制模式

    1.启用主库半同步复制模式
    mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;

    2.启用主库半同步复制模式
    mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;

    3.查看半同步复制模式是否启用
    mysql>  show  variables  like  “rpl_semi_sync_%_enabled”;

    修改配置文件/etc/my.cnf 让安装模块和启用的模式永久生效。

    6.1.2 配置文件加载插件

    1.主库配置文件
    vim /etc/my.cnf
    [mysqld]
    plugin-load=rpl_semi_sync_master=semisync_master.so
    rpl_semi_sync_master_enabled=1

    2.从库配置文件
    vim /etc/my.cnf
    [mysqld]
    plugin-load=rpl_semi_sync_slave=semisync_slave.so
    rpl_semi_sync_slave_enabled=1

    3.既做主又做从
    vim /etc/my.cnf
    [mysqld]
    plugin-load = “rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so”
    rpl-semi-sync-master-enabled = 1
    rpl-semi-sync-slave-enabled = 1

    展开全文
  • MySQL主从同步

    2020-12-14 15:31:49
    主从同步一、主从同步概述1.1、MySQL主从同步1.2、主从同步工作原理1.2.1、必要条件1.2.2、具体过程1.3、结构类型二、构建一主一从2.1、拓扑结构2.2、配置主服务器2.2.1、启用binlog日志2.2.2、授权用户2.2.3、查看...
  • mysql主从同步

    2016-05-02 14:25:25
    mysql数据主从同步
  • 数据库主从同步

    2014-10-24 13:43:17
    详细介绍了mysql主从同步的步骤,和可以轻松实现mysql数据库主从同步
  • mysql主从同步检查脚本 。主要运用于日常maysql运行主从同步状态检查。
  • 一、MySQL主从同步 1.配置主服务器 启用binlog日志 授权用户 查看binlog日志信息 [root@mysql51 ~]# systemctl stop firewalld [root@mysql51 ~]# vim /etc/my.cnf [mysqld] server_id=51 log_bin=master51 .......
  • 主要介绍了详解Mysql主从同步实战,实例分析了Mysql主从同步的原理和实现,非常具有实用价值,需要的朋友可以参考下。
  • Redis的主从同步解析

    2020-09-09 12:42:25
    主要介绍了Redis的主从同步解析,见识浅薄,仅供参考。
  • MySQL主从同步, mysql与mariabd也可以使用 1.打开mysql数据库配置文件 vim /etc/my.cnf 2.在主服务器master上配置开启Binary log,主要是在[mysqld]下面添加: server-id=1 log-bin=master-bin log-bin-index=...
  • 主要介绍了MySQL数据库主从同步,结合实例形式详细分析了MySQL数据库主从同步基本配置方法与操作注意事项,需要的朋友可以参考下
  • Mysql主从同步备份

    2012-11-28 09:01:08
    关于MYSQL的主从同步,最主要的是要了解MYSQL的主从同步是如何工作的也即主从同步的原理。
  • 部署mysql主从同步结构 **  主从同步概述 MYSQL主从同步 客户端访问主库,从库复制、同步主库的所有操作 单项复制时,建议将从库设置为只读 主从同步原理——从库 从主机上同步数据的工作过程 Master...
  • mysql主从同步原理和一些主从同步出现问题解决方案,干货多多
  • MySql主从同步配置

    2021-06-03 14:20:47
    MySql主从同步配置一、主从同步的定义使用主从同步的好处:二、主从同步机制三、配置主从同步的基本步骤有很多种配置主从同步的方法,可以总结为如下的步骤:四、详细配置主从同步的方法4.1.1 备份主服务器原有数据...
  • Docker - mysql 主从复制,主从同步

    千次阅读 2019-09-27 14:14:29
    文章目录Docker - mysql 主从复制,主从同步1、pull 镜像,启动容器2、查看运行状态3、配置容器4、配置mysql1、配置主库2、配置从库3、主从链接5、测试主从复制 Docker - mysql 主从复制,主从同步 1、pull 镜像,...
  • 记录一个比较简便的mysql的主从同步设置步骤,方便日后使用。
  • 主要给大家介绍了关于MySQL主从同步机制与同步延时问题追查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步,一定要绑定内网IP,而对于跨机房的问题,可以使用iptables进行nat转发来解决。 转载于:...
  • Redis主从同步

    2020-06-22 14:21:20
    redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低redis的处理性能。 主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持久化,这样可以提高主服务器的处理性能。 ...
  • MySQL 主从同步

    2018-03-13 16:59:37
    主从同步的原理图:主从同步描述: 1、设置主从服务器的server-id为不同数字; 2、设置主库log_bin目录等配置; 3、设置从库relay-log目录等配置; 4、主库给从库授权访问; 5、在从服务器上设置同步命令;...
  • 详细描述MySQL主从同步配置过程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,610
精华内容 56,644
关键字:

主从同步