万答#15,都有哪些情况可能导致MGR服务无法启动

欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答

本文转载自微信公众号 “老叶茶馆” 欢迎大家关注!

1.都有哪些情况可能导致MGR服务无法启动

简单整理了下,大概有以下原因可能导致MGR服务无法启动:

  • 1.网络原因,例如网络本来就不通,或被防火墙拦住。防火墙通常至少有两道,操作系统默认的firewall策略,以及云主机被默认的安全策略。

  • 2.第一个启动的节点没有先做初始引导操作(group_replication_bootstrap_group=ON)。

  • 3.没有正确配置group_name,所有节点的 group_replication_group_name 值要一致才可以。

  • 4.没正确配置 group_replication_group_name,常见于新手。要为MGR服务专门新开一个服务端口,常用33061端口,但新手可能会照样写成3306端口。

  • 5.通常,我们会在各MGR节点的 hosts 文件里加上所有节点的hostname。这是为了防止本地节点使用的hostname和MGR收到的hostname不一致,这种情况下,可以在每个本地节点设置 report-host,主动上报hostname即可解决。

  • 6.没设置正确的allowlist。有可能加入MGR各节点的IP不在默认的allowlist中,可参考这篇文章:MySQL Group Replication集群对IP地址的限制导致的一些问题与解决办法 (https://mp.weixin.qq.com/s/sbYufrlOx4cKiT8sV3hCaw)。

  • 7.个别节点的本地事务更多,例如误操作写入数据,也会无法加入MGR,这种情况需要重建本地节点。

  • 8.个别节点的本地事务缺失太多,且加入MGR时无法自动完成恢复,这种情况比较少见,需要手动执行clone复制数据,或者其他类似操作。

更多MGR相关问题请移步到这篇文章:GreatSQL MGR FAQ。(https://mp.weixin.qq.com/s/BzlwQXpHTONdyuC7GFroHw)

2. MySQL中怎么知道一个表的创建时间

来自群友的问题:有地方可以查看到mysql第一次初始化启动的时间吗?

这个问题可以换个角度来思考,即:怎么查的实例中MySQL元数据表初始化创建时间。

至少有两种方法可用:

方法一,查询MySQL日志。

如果MySQL实例自从初始化后的日志一直留存着的话,自然可以查到当时的时间。

方法二, 查询MySQL元数据表。

执行类似下面的命令,即可查得该实例初始化的时间:

[root@yejr.run]> SELECT TABLE_NAME, CREATE_TIME, UPDATE_TIME, CHECK_TIME
 FROM information_schema.TABLES where
  table_schema='mysql' order by create_time limit 2;
+--------------------+---------------------+---------------------+------------+
| TABLE_NAME         | CREATE_TIME         | UPDATE_TIME         | CHECK_TIME |
+--------------------+---------------------+---------------------+------------+
| innodb_table_stats | 2020-02-17 08:21:19 | 2021-11-18 21:50:17 | NULL       |
| innodb_index_stats | 2020-02-17 08:21:19 | 2021-11-18 21:50:17 | NULL       |
+--------------------+---------------------+---------------------+------------+

Enjoy GreatSQL 😃

文章推荐:

技术分享 | MGR最佳实践(MGR Best Practice)
https://mp.weixin.qq.com/s/66u5K7a9u8GcE2KPn4kCaA

技术分享 | 万里数据库MGR Bug修复之路
https://mp.weixin.qq.com/s/IavpeP93haOKVBt7eO8luQ

Macos系统编译percona及部分函数在Macos系统上运算差异
https://mp.weixin.qq.com/s/jAbwicbRc1nQ0f2cIa_2nQ

技术分享 | 利用systemd管理MySQL单机多实例
https://mp.weixin.qq.com/s/iJjXwd0z1a6isUJtuAAHtQ

产品 | GreatSQL,打造更好的MGR生态
https://mp.weixin.qq.com/s/ByAjPOwHIwEPFtwC5jA28Q

产品 | GreatSQL MGR优化参考
https://mp.weixin.qq.com/s/5mL_ERRIjpdOuONian8_Ow

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

Gitee:
https://gitee.com/GreatSQL/GreatSQL

GitHub:
https://github.com/GreatSQL/GreatSQL

微信&QQ群:

可搜索添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群

QQ群:533341697
微信小助手:wanlidbc

本文由博客一文多发平台 OpenWrite 发布!

posted @ 2021-12-17 09:54  GreatSQL  阅读(95)  评论(0编辑  收藏  举报