阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL主从架构的实现

500次阅读
没有评论

共计 11920 个字符,预计需要花费 30 分钟才能阅读完成。

正文

一主一从

 

1.1 环境准备:

CentOS 系统服务器 2 台、一台用户做 MySQL 主服务器,一台用于做 MySQL 从服务器,配置好 yum 源、防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信。

1.2 准备步骤:

1)iptables -F && setenforce 清空防火墙策略,关闭 selinux
2)拿两台服务器都使用 yum 方式安装 Mysql 服务,要求版本一致
3)分别启动两台服务器 mysql 服务,确保服务正常
架构图:
MySQL 主从架构的实现

 

1.3 实现步骤:

 

1.3.1 配置 master 主服务器

对 master 进行配置,包括打开二进制日志,指定唯一的 servr ID。例如,在配置文件加入如下值

    server-id=1      // 配置 server-id,让主服务器有唯一 ID 号
    log-bin=mysql-bin  // 打开 Mysql 日志,日志格式为二进制
    skip-name-resolve  // 关闭名称解析,(非必须)

MySQL 主从架构的实现

 

1.3.2 创建复制帐号

在 Master 的数据库中建立一个 备份帐户:每个 slave 使用标准的 MySQL 用户名和密码连接 master。进行复制操作的用户会授予 REPLICATION SLAVE 权限。

    MariaDB [(none)]> grant replication slave,replication client on *.* to slave@'192.168.%.%' identified by 'keer';

 

1.3.3 查看主服务器状态

在 Master 的数据库执行 show master status,查看主服务器二进制日志状态及位置号。
MySQL 主从架构的实现

 

1.3.4 配置 slave 从服务器

对 slave 进行配置,打开中继日志,指定唯一的 servr ID,设置只读权限。在配置文件加入如下值:

    server-id=2                 // 配置 server-id,让从服务器有唯一 ID 号
    relay_log = mysql-relay-bin // 打开 Mysql 日志,日志格式为二进制
    read_only = 1               // 设置只读权限
    log_bin = mysql-bin         // 开启从服务器二进制日志
    log_slave_updates = 1       // 使得更新的数据写进二进制日志中

MySQL 主从架构的实现

 

1.3.5 启动从服务器复制线程

让 slave 连接 master,并开始重做 master 二进制日志中的事件。

MariaDB [(none)]> change master to master_host='192.168.37.111', 
   >master_user='slave', 
   >master_password='keer', 
   >master_log_file='mysql-bin.000001', 
   >master_log_pos=413;

执行start slave;,来启动复制线程。

 

1.3.6 查看从服务器状态

可使用 SHOW SLAVE STATUS\G; 查看从服务器状态,如下所示,也可用 show processlist \G; 查看当前复制状态:

    Slave_IO_Running: Yes       //IO 线程正常运行
    Slave_SQL_Running: Yes      //SQL 线程正常运行

MySQL 主从架构的实现

 

1.3.7 测试

1)测试主从同步
我们在 master 服务器上创建一个数据库,再使用该数据库创建一个表,添加一条记录,来看一看 slave 服务器有没有同步成功。
首先,我们先来查看一下两个服务器上有什么数据库:
master:
MySQL 主从架构的实现
slave:
MySQL 主从架构的实现
现在,我们在主服务器上创建一个数据库“keer”:
MySQL 主从架构的实现
然后,我们来看看从服务器是否已经更新:
MySQL 主从架构的实现
我们可以看出,数据库已经同步,接下来,我们就来创建表,并在表中插入一条记录:
MySQL 主从架构的实现
然后,我们来看看从服务器是否更新:
MySQL 主从架构的实现

2)测试只读属性
我们在从服务器上设置了只读,所以我们来试试看能不能插入数据:
MySQL 主从架构的实现
这就很尴尬了,为什么我们设置只读还是可以插入数据呢?这要如何解决呢?
因为我们登录的时候使用的是 root 超级用户,这个大变态是不受只读设置影响的,所以,我们还是可以往里面去插入数据,当然,如果我们换成其他的普通用户就不会出现这样的问题了。
解决方式也很简单,我们只需要把表锁起来就可以了:

MariaDB [keer]> flush tables with read lock;

进行锁表操作以后,我们再来插入一条数据:
MySQL 主从架构的实现
这样的话,即使我们是超级用户登录进来的,也不能再插入数据了。这样会安全很多。但是,有利就有弊,这样的话,我们的主从就不能实时同步了,因为我们的主从同步是通过把主上的 sql 语句放在从上再执行一遍来实现的,可是我们锁表的话,sql 语句就不能执行了。想要同步方法也很简单,直接把表解锁就可以了。
我们在主上插入一条数据:
MySQL 主从架构的实现
此时,我们的从上就要解表以后才能实现同步:
MySQL 主从架构的实现

 

1.4 扩展——实现一主多从

 

1.4.1 需求分析

当我们的服务器运行一段时间后,流量变得越来越多,这时,一主一从能够实现的高可用性和负载均衡不能满足我们的需求,我们就要选择再添加一台从服务器。
可是现在我们的 master 已经运行很久了,我们也需要对新安装的 slave 进行数据同步,甚至它没有 master 的数据。
此时,有几种方法可以使 slave 从另一个服务开始,例如,从 master 拷贝数据,从另一个 slave 克隆,从最近的备份开始一个 slave。为了加快 slave 与 master 同步,可用以下方式先进行数据同步:

(1)master 的某个时刻的数据快照;
(2)数据库的备份数据;
(3)master 的二进制日志文件。

架构图:
MySQL 主从架构的实现

接下来,我们就来实现一下这个过程:

 

1.4.2 具体实现过程

1)对 master 进行完全备份

[root@master ~]# mkdir /backup
[root@master ~]# mysqldump --all-database > /backup/mysql-backup-`date +%F-%T`-all.sql

照例查看一下主的二进制日志状态及位置号。
MySQL 主从架构的实现

2)把完全备份的数据发到新增的从上

[root@master ~]# scp /backup/mysql-backup-2017-11-21-10\:28\:29-all.sql @192.168.37.133:~
root@192.168.37.133's password: 
mysql-backup-2017-11-21-10:28:29-all.sql                                                           100%  504KB 503.9KB/s   00:00 

3)把这个完全备份导入从的数据库:
MySQL 主从架构的实现

4)查看从是否恢复成功:
MySQL 主从架构的实现
MySQL 主从架构的实现
我们来查看一下从的二进制日志状态及位置号:
MySQL 主从架构的实现
我们的数据已经恢复成功

5)设置主从
接下来就是按照上述步���,对该从服务器进行设置就好:

[root@slave2 ~]# vim /etc/my.cnf
    [mysqld]
    server-id = 3
    relay-log = mysql-relay-bin
    read-only = 1
    log-bin = mysql-bin
    log-slave-updates = 1


然后,我们就来设置从服务器:

[root@slave2 ~]# mysql -uroot -p
Enter password: 
MariaDB [(none)]> change master to master_host='192.168.37.111', 
   >master_user='slave', 
   >master_password='keer', 
   >master_log_file='mysql-bin.000001', 
   >master_log_pos=330;
MariaDB [(none)]> start slave;

然后我们来查看一下从服务器的状态:
MySQL 主从架构的实现

6)测试
设置完毕,我们来测试一下,当主上有操作时,从上是否更新:
MySQL 主从架构的实现
MySQL 主从架构的实现
至此,我们就完成了一主两从。如果有需要,我们还可以继续添加从服务器。

 

1.5 扩展——实现半同步复制

 

1.5.1 三种复制方式

1)同步复制
指当主库执行完一个事务, 所有的从库都执行了该事务 才返回给客户端。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的 性能必然会收到严重的影响 。需要有超时时间。
2)异步复制
MySQL 默认的复制 即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果 crash 掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。
3)半同步复制
介于异步复制和全同步复制之间, 主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到 relay log 中才返回给客户端。相对于异步复制,半同步复制 提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个 TCP/IP 往返的时间。所以,半同步复制最好在低延时的网络中使用。

 

1.5.2 实现半同步复制

半同步复制是基于特定的模块来实现。不过非常 nice 的一点就是,在我们的 mariadb5.5 以上的版本默认是带有这个模块的。
如果我们的 centos7 上安装了 mariadb,我们就可以进入目录去查看一下:

[root@master ~]# cd /usr/lib64/mysql/plugin/

MySQL 主从架构的实现
找到我们的模块后,我们就可以通过命令来安装,然后进行简单配置即可使用了。下面就是具体方法:
master 服务器上:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'rpl_semi%';
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_enabled=ON;

MySQL 主从架构的实现

slave 服务器上:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'rpl_semi%';
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled = ON ;
MariaDB [(none)]> stop slave;   
MariaDB [(none)]> start slave;

MySQL 主从架构的实现
MySQL 主从架构的实现
现在,我们的半同步复制就开启了,我们可以来查看一下日志:

[root@slave ~]# tail -200 /var/log/mariadb/mariadb.log 

从日志里也可以看出我们的半同步复制已经开启。
MySQL 主从架构的实现


以上,实验一完成。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-11/149008p2.htm

 

互为主从(双主)

还有一种数据库的架构为双主模式,也就是互为主从,这种设定在企业中虽不常用,但是我们还是需要掌握的。
Master-Master 复制的两台服务器,既是 master,又是另一台服务器的 slave。这样,任何一方所做的变更,都会通过复制应用到另外一方的数据库中。
架构图如下:
MySQL 主从架构的实现

 

2.1 环境准备:

CentOS 系统服务器 2 台、两台用户实现 MySQL 互为主从,配置好 yum 源、防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信

 

2.2 准备步骤:

1)iptables -F && setenforce 清空防火墙策略,关闭 selinux
2)拿两台服务器都使用 yum 方式安装 Mysql 服务,要求版本一致
3)分别启动两台服务器 mysql 服务,确保服务正常

 

2.3 实现步骤:

 

2.3.1 配置第一台 master 主服务器

    server-id = 1      // 配置 server-id,让主服务器有唯一 ID 号
    log-bin = mysql-bin  // 打开 Mysql 日志,日志格式为二进制
    skip-name-resolve    // 关闭名称解析,(非必须)
    relay_log = mysql-relay-bin // 打开 Mysql 日志,日志格式为二进制
    read_only = 1               // 设置只读权限
    log_slave_updates = 1       // 使得更新的数据写进二进制日志中
    auto_increment_offset = 1    // 表示自增长字段从那个数开始
    auto_increment_increment = 2  // 表示自增长字段每次递增的量

MySQL 主从架构的实现

 

2.3.2 配置第二台 master 主服务器

    server-id = 2      // 配置 server-id,让主服务器有唯一 ID 号
    log-bin = mysql-bin  // 打开 Mysql 日志,日志格式为二进制
    skip-name-resolve    // 关闭名称解析,(非必须)
    relay_log = mysql-relay-bin // 打开 Mysql 日志,日志格式为二进制
    read_only = 1               // 设置只读权限
    log_slave_updates = 1       // 使得更新的数据写进二进制日志中
    auto_increment_offset = 2    // 表示自增长字段从那个数开始
    auto_increment_increment = 2  // 表示自增长字段每次递增的量

MySQL 主从架构的实现

 

2.3.3 创建复制账号

因为我们实现的是双主模式,所以我们每一台机器上都要创建复制账号:
MySQL 主从架构的实现
MySQL 主从架构的实现

 

2.3.4 查看服务器状态

我们分别查看两台服务器的状态,从而为我们下一步的设置奠下基础:
MySQL 主从架构的实现
MySQL 主从架构的实现

 

2.3.5 启动复制线程

我们来分别对两台机器进行的设置:
首先,先对第一台 master 机器进行设置:

MariaDB [(none)]> change master to master_host='192.168.37.222',master_user='slave',master_password='keer',master_log_file='mysql-bin.000003',master_log_pos=245;
MariaDB [(none)]> start slave;

接着,我们来查看一下他的状态:
MySQL 主从架构的实现

现在,我们来对第二台 master 进行设置:

MariaDB [(none)]> change master to master_host='192.168.37.111',master_user='slave',master_password='keer',master_log_file='mysql-bin.000002',master_log_pos=245;
MariaDB [(none)]> start slave;

我们来查看一下他的状态:
MySQL 主从架构的实现
可以看出,我们的两个机器都设置完毕,接下来,我们就可以来测试一下了。

 

2.3.5 测试

在我们的配置文件中,我们设置了自增长字段的起始值和增长值,现在我们去创建一个自增长的表:

MariaDB [keer]> create table test(id int PRIMARY KEY AUTO_INCREMENT,name char(20) not null);

因为我们设置了主从,所以在任一机器使用该命令即可。
创建好了表以后,我们就可以插入数据进行测试了,我们一个插入多条数据来看看效果:
第一个服务器:

MariaDB [keer]> insert into test(name) value('zhao'),('qian'),('sun'),('li');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

第二个服务器:

MariaDB [keer]> insert into test(name) value('zhou'),('wu'),('zheng'),('wang');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

数据我们都插入了,我们来看看效果如何:
MySQL 主从架构的实现
可以看出,两个表插入的数据是不会重复的。
但是现在也不是我们想象的连续的 id,这是因为,我们两台机器都是同时插入 4 条数据,而且不是同步插入的,这样就会有一个先后顺序,第一台机器上的 sql 语句执行结束以后才执行第二台机器上的。所以会出现这样的情况。
但是,这样已经不会插入重复的数据了。我们的目的也是达到了。


以上,实验二完成。

高可用架构 MHA 的实现

具体的实现过程见 MySQL 实现高可用架构之 MHA  http://www.linuxidc.com/Linux/2017-11/149007.htm

如有不足之处还请大家多多指教喏٩(๑>◡<๑)۶ 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/149008.htm

正文

一主一从

 

1.1 环境准备:

CentOS 系统服务器 2 台、一台用户做 MySQL 主服务器,一台用于做 MySQL 从服务器,配置好 yum 源、防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信。

1.2 准备步骤:

1)iptables -F && setenforce 清空防火墙策略,关闭 selinux
2)拿两台服务器都使用 yum 方式安装 Mysql 服务,要求版本一致
3)分别启动两台服务器 mysql 服务,确保服务正常
架构图:
MySQL 主从架构的实现

 

1.3 实现步骤:

 

1.3.1 配置 master 主服务器

对 master 进行配置,包括打开二进制日志,指定唯一的 servr ID。例如,在配置文件加入如下值

    server-id=1      // 配置 server-id,让主服务器有唯一 ID 号
    log-bin=mysql-bin  // 打开 Mysql 日志,日志格式为二进制
    skip-name-resolve  // 关闭名称解析,(非必须)

MySQL 主从架构的实现

 

1.3.2 创建复制帐号

在 Master 的数据库中建立一个 备份帐户:每个 slave 使用标准的 MySQL 用户名和密码连接 master。进行复制操作的用户会授予 REPLICATION SLAVE 权限。

    MariaDB [(none)]> grant replication slave,replication client on *.* to slave@'192.168.%.%' identified by 'keer';

 

1.3.3 查看主服务器状态

在 Master 的数据库执行 show master status,查看主服务器二进制日志状态及位置号。
MySQL 主从架构的实现

 

1.3.4 配置 slave 从服务器

对 slave 进行配置,打开中继日志,指定唯一的 servr ID,设置只读权限。在配置文件加入如下值:

    server-id=2                 // 配置 server-id,让从服务器有唯一 ID 号
    relay_log = mysql-relay-bin // 打开 Mysql 日志,日志格式为二进制
    read_only = 1               // 设置只读权限
    log_bin = mysql-bin         // 开启从服务器二进制日志
    log_slave_updates = 1       // 使得更新的数据写进二进制日志中

MySQL 主从架构的实现

 

1.3.5 启动从服务器复制线程

让 slave 连接 master,并开始重做 master 二进制日志中的事件。

MariaDB [(none)]> change master to master_host='192.168.37.111', 
   >master_user='slave', 
   >master_password='keer', 
   >master_log_file='mysql-bin.000001', 
   >master_log_pos=413;

执行start slave;,来启动复制线程。

 

1.3.6 查看从服务器状态

可使用 SHOW SLAVE STATUS\G; 查看从服务器状态,如下所示,也可用 show processlist \G; 查看当前复制状态:

    Slave_IO_Running: Yes       //IO 线程正常运行
    Slave_SQL_Running: Yes      //SQL 线程正常运行

MySQL 主从架构的实现

 

1.3.7 测试

1)测试主从同步
我们在 master 服务器上创建一个数据库,再使用该数据库创建一个表,添加一条记录,来看一看 slave 服务器有没有同步成功。
首先,我们先来查看一下两个服务器上有什么数据库:
master:
MySQL 主从架构的实现
slave:
MySQL 主从架构的实现
现在,我们在主服务器上创建一个数据库“keer”:
MySQL 主从架构的实现
然后,我们来看看从服务器是否已经更新:
MySQL 主从架构的实现
我们可以看出,数据库已经同步,接下来,我们就来创建表,并在表中插入一条记录:
MySQL 主从架构的实现
然后,我们来看看从服务器是否更新:
MySQL 主从架构的实现

2)测试只读属性
我们在从服务器上设置了只读,所以我们来试试看能不能插入数据:
MySQL 主从架构的实现
这就很尴尬了,为什么我们设置只读还是可以插入数据呢?这要如何解决呢?
因为我们登录的时候使用的是 root 超级用户,这个大变态是不受只读设置影响的,所以,我们还是可以往里面去插入数据,当然,如果我们换成其他的普通用户就不会出现这样的问题了。
解决方式也很简单,我们只需要把表锁起来就可以了:

MariaDB [keer]> flush tables with read lock;

进行锁表操作以后,我们再来插入一条数据:
MySQL 主从架构的实现
这样的话,即使我们是超级用户登录进来的,也不能再插入数据了。这样会安全很多。但是,有利就有弊,这样的话,我们的主从就不能实时同步了,因为我们的主从同步是通过把主上的 sql 语句放在从上再执行一遍来实现的,可是我们锁表的话,sql 语句就不能执行了。想要同步方法也很简单,直接把表解锁就可以了。
我们在主上插入一条数据:
MySQL 主从架构的实现
此时,我们的从上就要解表以后才能实现同步:
MySQL 主从架构的实现

 

1.4 扩展——实现一主多从

 

1.4.1 需求分析

当我们的服务器运行一段时间后,流量变得越来越多,这时,一主一从能够实现的高可用性和负载均衡不能满足我们的需求,我们就要选择再添加一台从服务器。
可是现在我们的 master 已经运行很久了,我们也需要对新安装的 slave 进行数据同步,甚至它没有 master 的数据。
此时,有几种方法可以使 slave 从另一个服务开始,例如,从 master 拷贝数据,从另一个 slave 克隆,从最近的备份开始一个 slave。为了加快 slave 与 master 同步,可用以下方式先进行数据同步:

(1)master 的某个时刻的数据快照;
(2)数据库的备份数据;
(3)master 的二进制日志文件。

架构图:
MySQL 主从架构的实现

接下来,我们就来实现一下这个过程:

 

1.4.2 具体实现过程

1)对 master 进行完全备份

[root@master ~]# mkdir /backup
[root@master ~]# mysqldump --all-database > /backup/mysql-backup-`date +%F-%T`-all.sql

照例查看一下主的二进制日志状态及位置号。
MySQL 主从架构的实现

2)把完全备份的数据发到新增的从上

[root@master ~]# scp /backup/mysql-backup-2017-11-21-10\:28\:29-all.sql @192.168.37.133:~
root@192.168.37.133's password: 
mysql-backup-2017-11-21-10:28:29-all.sql                                                           100%  504KB 503.9KB/s   00:00 

3)把这个完全备份导入从的数据库:
MySQL 主从架构的实现

4)查看从是否恢复成功:
MySQL 主从架构的实现
MySQL 主从架构的实现
我们来查看一下从的二进制日志状态及位置号:
MySQL 主从架构的实现
我们的数据已经恢复成功

5)设置主从
接下来就是按照上述步���,对该从服务器进行设置就好:

[root@slave2 ~]# vim /etc/my.cnf
    [mysqld]
    server-id = 3
    relay-log = mysql-relay-bin
    read-only = 1
    log-bin = mysql-bin
    log-slave-updates = 1


然后,我们就来设置从服务器:

[root@slave2 ~]# mysql -uroot -p
Enter password: 
MariaDB [(none)]> change master to master_host='192.168.37.111', 
   >master_user='slave', 
   >master_password='keer', 
   >master_log_file='mysql-bin.000001', 
   >master_log_pos=330;
MariaDB [(none)]> start slave;

然后我们来查看一下从服务器的状态:
MySQL 主从架构的实现

6)测试
设置完毕,我们来测试一下,当主上有操作时,从上是否更新:
MySQL 主从架构的实现
MySQL 主从架构的实现
至此,我们就完成了一主两从。如果有需要,我们还可以继续添加从服务器。

 

1.5 扩展——实现半同步复制

 

1.5.1 三种复制方式

1)同步复制
指当主库执行完一个事务, 所有的从库都执行了该事务 才返回给客户端。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的 性能必然会收到严重的影响 。需要有超时时间。
2)异步复制
MySQL 默认的复制 即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果 crash 掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。
3)半同步复制
介于异步复制和全同步复制之间, 主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到 relay log 中才返回给客户端。相对于异步复制,半同步复制 提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个 TCP/IP 往返的时间。所以,半同步复制最好在低延时的网络中使用。

 

1.5.2 实现半同步复制

半同步复制是基于特定的模块来实现。不过非常 nice 的一点就是,在我们的 mariadb5.5 以上的版本默认是带有这个模块的。
如果我们的 centos7 上安装了 mariadb,我们就可以进入目录去查看一下:

[root@master ~]# cd /usr/lib64/mysql/plugin/

MySQL 主从架构的实现
找到我们的模块后,我们就可以通过命令来安装,然后进行简单配置即可使用了。下面就是具体方法:
master 服务器上:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'rpl_semi%';
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_enabled=ON;

MySQL 主从架构的实现

slave 服务器上:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'rpl_semi%';
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled = ON ;
MariaDB [(none)]> stop slave;   
MariaDB [(none)]> start slave;

MySQL 主从架构的实现
MySQL 主从架构的实现
现在,我们的半同步复制就开启了,我们可以来查看一下日志:

[root@slave ~]# tail -200 /var/log/mariadb/mariadb.log 

从日志里也可以看出我们的半同步复制已经开启。
MySQL 主从架构的实现


以上,实验一完成。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-11/149008p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计11920字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7800946
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器 在多台服务器同时运行的环境中,性能监控、状态告警、资源可视化 是运维人...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...