Mysql MGR单主内网部署

                                                       Mysql MGR单主内网部署

1.关闭防火墙:

systemctl stop firewalld

systemctl disable firewalld 

setenforce 0

2.互ping检查网络:

3.检查如有mariadb卸载:

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

4.创建部署目录:

mkdir mysql

cd mysql/

5.上传MySQL安装包,解压

tar -xvf mysql-5.7.41-1.el7.x86_64.rpm-bundle.tar

6.rpm安装

按照依赖关系安装,依赖关系依次是common ->libs ->client ->server

rpm -ivh mysql-community-common-5.7.41-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.41-1.el7.x86_64.rpm

(rpm -ivh mysql-community-libs-5.7.41-1.el7.x86_64.rpm        --force --nodeps)

rpm -ivh mysql-community-client-5.7.41-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.41-1.el7.x86_64.rpm

若遇如下情况,上传该依赖包,然后安装,有网络直接yum安装

(yum install -y libaio)

7.安装完成,启动数据库,查看状态

systemctl start mysqld

systemctl status mysqld

8.查看初始密码:

cat /var/log/mysqld.log | grep 'password'

9.登录mysql:

mysql -uroot -pXUod=e6jWuMu

10.修改数据库初始密码:

set password=password('XUod=e6jwumu');

(提示:

mysql5.7通过上面默认安装后,执行语句可能会报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

   

这个报错与Mysql 密码安全策略validate_password_policy的值有关,validate_password_policy可以取0、1、2三个值:

解决办法:

set global validate_password_policy=0;

set global validate_password_length=1;

部署MGR集群

1.查看主机IP,三台主机均修改/etc/hosts

三台主机:

172.18.0.136    mysql-master

172.18.0.137    mysql-slave01

172.18.0.138    mysql-slave02

2.修改/etc/my.cnf,添加配置文件,注意要修改的配置

vim /etc/my.cnf

server_id = 11 #服务ID

port = 3306

secure-file-priv = /tmp

binlog_format= row

gtid_mode = ON #全局事务

validate-password = OFF #为了测试方便输入简单密码这里关闭密码强度审计插件

enforce_gtid_consistency = TRUE #强制 GTID 的一致性

log-error = /var/log/mysqld.log

skip_name_resolve

master_info_repository = TABLE #将 master.info 元数据保存在系统表中

relay_log_info_repository = TABLE #将 relay.info 元数据保存在系统表中

report_host = 172.18.0.136

report_port = 3306

default_authentication_plugin = mysql_native_password

binlog_checksum = NONE #禁用二进制日志事件校验

binlog_transaction_dependency_tracking = WRITESET

log_slave_updates = ON #级联复制

log_bin = binlog #开启二进制日志记录

binlog_format = ROW #以行的格式记录

transaction_write_set_extraction = XXHASH64 #使用哈希算法将其编码为散列

loose-group_replication_group_name = 'b46b02b8-3305-494d-b6ed-4d38cb123cab' #加入的组名

loose-group_replication_start_on_boot = off #不自动启用组复制集群

loose-group_replication_local_address = '172.18.0.136:33060' #以本机端口 33060 接受来自组中成员的传入连接

loose-group_replication_group_seeds = '172.18.0.136:33060,172.18.0.137:33060,172.18.0.138:33060' #组中成员访问表

loose-group_replication_bootstrap_group = off #不启用引导组

[mysql]

prompt=mysql-master [\\d]>

3.修改完成重启数据库

systemctl restart mysqld

4.检查数据库状态

systemctl status mysqld

5.配置完成后, 重启动数据库,安装MGR插件,设置复制账号(所有MGR节点都要执行):

mysql-master [(none)]>INSTALL PLUGIN group_replication SONAME 'group_replication.so';

Query OK, 0 rows affected (0.05 sec)

mysql-master [(none)]>SET SQL_LOG_BIN=0;

Query OK, 0 rows affected (0.00 sec)

mysql-master [(none)]>CREATE USER repl@'%' IDENTIFIED BY 'repl';

Query OK, 0 rows affected (0.00 sec)

mysql-master [(none)]>GRANT REPLICATION SLAVE ON *.* TO repl@'%';

Query OK, 0 rows affected (0.00 sec)

mysql-master [(none)]>FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql-master [(none)]>CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='repl' FOR CHANNEL 'group_replication_recovery';

Query OK, 0 rows affected, 2 warnings (0.01 sec)

6.启动MGR单主模式:

mysql-master [(none)]>SET GLOBAL group_replication_bootstrap_group=ON;

Query OK, 0 rows affected (0.00 sec)

mysql-master [(none)]>START GROUP_REPLICATION;

Query OK, 0 rows affected (7.17 sec)

mysql-master [(none)]>SET GLOBAL group_replication_bootstrap_group=OFF;

Query OK, 0 rows affected (0.00 sec)

7.查看MGR组信息:

mysql-master[(none)]>SELECT * FROM performance_schema.replication_group_members;

8.其他节点加入MGR集群

mysql-slave01 [(none)]>START GROUP_REPLICATION;

mysql-slave02 [(none)]>START GROUP_REPLICATION;

9.查看MGR组信息

mysql-master [(none)]>SELECT * FROM performance_schema.replication_group_members;

重置密码:

UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) where USER=‘root’;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值