首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Innodb Cluster集群部署配置(中)

Innodb Cluster集群部署配置(中)

原创
作者头像
陈不成i
修改2021-06-15 11:22:26
修改2021-06-15 11:22:26
7550
举报
文章被收录于专栏:ops技术分享ops技术分享

配置(均操作)

1.修改配置文件,主要修改server_id和local_address vim /etc/mysql/my.cnf

  1. [mysqld]
  2. #mysql自身配置,这里默认即可
  3. pid-file = /var/run/mysqld/mysqld.pid
  4. socket = /var/run/mysqld/mysqld.sock
  5. datadir = /var/lib/mysql
  6. log-error = /var/log/mysql/error.log
  7. bind-address = 0.0.0.0
  8. server_id = 1 #2,3 要每台不一样
  9. gtid_mode = ON #开启gitd复制
  10. log_bin = bilog
  11. log_slave_updates = ON
  12. master_info_repository = TABLE
  13. relay_log_info_repository = TABLE
  14. transaction_write_set_extraction = XXHASH64
  15. enforce_gtid_consistency = ON
  16. slave_preserve_commit_order = ON #确保GR_applier按照一致的顺序复现事务
  17. binlog_checksum = NONE
  18. loose-group_replication_group_name = a38e32fd-5fb6-11e8-ad7a-00259015d941 #UUID号,集群中要一致
  19. loose-group_replication_start_on_boot = OFF #默认关闭, 防止重启后自动创建新的Group
  20. loose-group_replication_bootstrap_group = OFF #默认关闭, 防止自动创建新的Group
  21. loose-group_replication_allow_local_disjoint_gtids_join = ON
  22. loose-group_replication_single_primary_mode = OFF    ##在单主模式中为ON,在多主模式中为OFF
  23. loose-group_replication_enforce_update_everywhere_checks = ON

重启 systemctl restart mysql

2.检查配置,进入mysql-js shell,user是刚才配置的账号,登陆后可以按y保存密码,以后登陆js不需要密码

过一会返回一个”status”: “ok”则是集群配置正确了 mysql-js> dba.configureLocalInstance('root@localhost:3306');

如果返回error就往上翻,会有提示配置错误的部分

开启group_replication(均操作)

1.为之前创建的集群用户,添加权限 change master to master_user='root',master_password='password' for channel 'group_replication_recovery';

2.安装group_replication INSTALL PLUGIN group_replication SONAME 'group_replication.so';

启动group_replication

1.第一台机器操作 set global group_replication_bootstrap_group=on; start group_replication; set global group_replication_bootstrap_group=off;

如果上述命令报错3098,在多主模式下登陆数据库做如下操作:

进入数据库,查询集群库的表名 use mysql_innodb_cluster_metadata show databases;

查询创建表语句,找到CONSTRAINT开头的部分,每个表都要找 show create table 表名\G;

代码语言:javascript
复制
CONSTRAINT `外键名` FOREIGN KEY (`xxxx`) REFERENCES `xxxxxx` (`id`)

删除外键,多主模式集群不支持外键,删除每个有外键的表 alter table 表名 drop foreign key 外键名;

再操作一遍如下即可 set global group_replication_bootstrap_group=on; start group_replication; `set global group_replication_bootstrap_group=off;

2.其它节点机器操作 start group_replication;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置(均操作)
  • 开启group_replication(均操作)
  • 启动group_replication
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档