首页云计算 正文

MySQL管理工具MySQL Utilities — 使用mysqlreplicate创建复制(47)

2024-11-19 4 0条评论
  1. 首页
  2. 证书相关
  3. MySQL管理工具MySQL Utilities — 使用mysqlreplicate创建复制(47)

MySQL管理工具MySQL Utilities — 使用mysqlreplicate创建复制(47)

发布日期:2017-04-07

MySQL已经内置支持多种类型的复制。复制通常是为了增强性能和容错。配置复制是一个比较复杂而容易出错的。不过不用担心哈,MySQL Utilities 提供的工具可以帮助简化和自动化,甚至一些复制相关的任务。

假设我们需要使用复制来改进服务的吞吐量,通过添加更多的服务器到现有的复制架构中。这些副本允许向外扩展,读写分离,所有的读请求发送到从上。

我们将使用mysqlreplicate工具来完成该任务,然后使用mysqlrpladmin 工具来检查结果。

环境如下:Server1 IP为 192.168.1.1 端口为 13001,要添加两台服务器,Server2 IP为192.168.1.2 端口为13001 Server3 IP为trustauth.cn 端口为3306。

实例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 shell > mysqlreplicate master = m_account @ 192.168.1.1 : 13001 \ slave = slave_acc1 @ 192.168.1.2 : 13001 rpl user = repl : slavepass b # master on 192.168.1.1: … connected. # slave on 192.168.1.2: … connected. # Checking for binary logging on master… # Setting up replication… # …done. shell > mysqlreplicate master = m_account @ 192.168.1.1 : 13001 \            slave = slave_acc2 @ trustauth.cn : 3306 rpl user = repl : slavepass b # master on 192.168.1.1: … connected. # slave on trustauth.cn: … connected. # Checking for binary logging on master… # Setting up replication… # …done. shell > mysqlrplcheck master = m_account @ 192.168.1.1 : 13001 \            slave = slave_acc1 @ 192.168.1.2 : 13001 # master on 192.168.1.1: … connected. # slave on 192.168.1.2: … connected. Test Description                                                     Status Checking for binary logging on master                                  [ pass ] Are there binlog exceptions ?                                          [ pass ] Replication user exists ?                                              [ pass ] Checking server_id values                                              [ pass ] Checking server_uuid values                                            [ pass ] Is slave connected to master ?                                          [ pass ] Check master information file                                          [ pass ] Checking InnoDB compatibility                                          [ pass ] Checking storage engines compatibility                                [ pass ] Checking lower_case_table_names settings                              [ pass ] Checking slave delay ( seconds behind master )                          [ FAIL ] Slave is NNN seconds behind master . # …done. shell > mysqlrplcheck master = m_account @ 192.168.1.1 : 13001 \            slave = slave_acc2 @ trustauth.cn : 3306 # master on 192.168.1.1: … connected. # slave on trustauth.cn: … connected. Test Description                                                     Status Checking for binary logging on master                                  [ pass ] Are there binlog exceptions ?                                          [ pass ] Replication user exists ?                                              [ pass ] Checking server_id values                                              [ pass ] Checking server_uuid values                                            [ pass ] Is slave connected to master ?                                          [ pass ] Check master information file                                          [ pass ] Checking InnoDB compatibility                                          [ pass ] Checking storage engines compatibility                                [ pass ] Checking lower_case_table_names settings                              [ pass ] Checking slave delay ( seconds behind master )                          [ FAIL ] Slave is N seconds behind master . # …done.

在上面的例子中,我们使用mysqlreplicate 工具设置一个两层的复制拓扑,一主两从。 –master选项指定了server1,–slave选项指定server2和server3。还使用了-b标记,使复制从主二进制日志中的第一个事件开始。

同时,使用mysqlrplcheck 工具来检查复制的健康状况。在上面例子中, “Check slave delay”失败的,表明从正赶上主。当从读取并应用完主二进制日志中的所有事务,”Check slave delay”检测将是pass的。

权限

m_account 用户需要对mysql数据库的 SELECT 和 INSERT 权限,以及REPLICATION SLAVE, REPLICATION CLIENT 和 GRANT OPTION 权限。

slave_acc 用户需要有SUPER 权限。

对于 –rpl-user 选项的用户,要么自动创建要么已经存在,需要有REPLICATION SLAVE权限。

当使用GTIDs,slave_acc 用户还需要有对mysql数据库的SELECT 权限,才能成功执行mysqlrplcheck 工具。

小技巧

mysqlreplicate工具可以使用–test-db选项来创建一个虚拟的数据库来测试复制设置。从而,mysqlrplcheck 工具提供更详细的信息。

如前所述,-b标记,使复制从主二进制日志中的第一个事件开始。省略这个标记,复制将从当前的二进制日志开始。

使用 –master-log-file 和 –master-log-pos 选项分别制定主日志文件和主日志位置来决定到底从哪开始复制。

-p标记用来确保复制只在主从存储引擎匹配下执行。

mysqlrplcheck 工具,可以使用-s选项来检查show slave status命令的输出。这是有用的,来检查是什么原因导致”Is slave connected”失败的。也可以使用 –master-log-file 选项来读取主信息文件。

也可以使用–verbose选项来获取更多信息。

文章转载来自:trustauth.cn

上一篇:如何修复’ERR_TOO_MANY_REDIRECTS’错误

下一篇:企业如何选择符合自己网站类型的SSL证书呢

相关新闻

  • SSL证书对网站访问速度有影响吗
  • 个人隐私数据泄露有哪些危害?如何预防?
  • 部署SSL证书有哪些常见的错误
  • 国际证书、国产证书和国密证书
  • 游戏开发为什么离不开代码签名?
  • 僵尸网络攻击手法与防范方式
  • SSL证书助力保障网络数据安全
  • 网站加密与不加密区别
  • SSL证书有哪些类型和价格差异
  • ca机构颁发的证书包括那些内容呢?
文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/113019.html 发布于 2024-11-19
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码