中文网站建设,湖南禹班建设集团网站,兰州哪里做网站,单位网站建设制作目录
一、三台主机准备工作
1、mysql官方下载地址#xff1a;https://dev.mysql.com/downloads/
2、修改/etc/hosts
3、关闭防火墙
二、三台主机安装mysql-8.2.0
1、解压
2、下载相应配置
3、初始化mysql#xff0c;启动myslq#xff0c;设置开机自启
4、查看初始密…目录
一、三台主机准备工作
1、mysql官方下载地址https://dev.mysql.com/downloads/
2、修改/etc/hosts
3、关闭防火墙
二、三台主机安装mysql-8.2.0
1、解压
2、下载相应配置
3、初始化mysql启动myslq设置开机自启
4、查看初始密码并登录
5、修改密码
三、三台主机安装mysql shell并部署使用
1、安装依赖
2、安装mysql shell
3、使用mysql shell部署集群
4、重启mysql
5、检测是否就绪
6、创建集群[rootsql01 ~]# mysqlsh --uri rootsql01:3306
7、获取集群对象 MySQL sql01:3306 ssl JS var cluster dba.getCluster(myCluster);
8、将另外2台加入 MySQL sql01:3306 ssl JS cluster.addInstance(rootsql02:3306);
9、查看集群状态为ONLINE表示成功
四、mysql router安装
五、测试
六、当集群所有节点都miss 如何恢复 一、三台主机准备工作
1、mysql官方下载地址https://dev.mysql.com/downloads/
获取以下
mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar
mysql-router-community-8.2.0-1.el7.x86_64.rpm
mysql-shell-8.2.0-1.el7.x86_64.rpm
2、修改/etc/hosts
[rootlocalhost ~]# vim /etc/hosts
192.168.6.150 sql01
192.168.6.162 sql02
192.168.6.165 sql03[rootlocalhost ~]# hostnamectl set-hostname sql03
[rootlocalhost ~]# bash
3、关闭防火墙
[rootsql03 ~]# systemctl stop firewalld
[rootsql03 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[rootsql03 ~]# setenforce 0
[rootsql03 ~]# iptables -F二、三台主机安装mysql-8.2.0
1、解压
[rootsql03 ~]# tar -xvf mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar
2、下载相应配置
[rootsql03 ~]# rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm
[rootsql03 ~]# rpm -ivh mysql-community-client-plugins-8.2.0-1.el7.x86_64.rpm
[rootsql03 ~]# rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm
[rootsql03 ~]# rpm -ivh mysql-community-client-8.2.0-1.el7.x86_64.rpm
[rootsql03 ~]# rpm -ivh mysql-community-icu-data-files-8.2.0-1.el7.x86_64.rpm
[rootsql03 ~]# rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm3、初始化mysql启动myslq设置开机自启
[rootsql03 ~]# sudo rm -rf /var/lib/mysql/*
[rootsql03 ~]# sudo -u mysql mysqld --initialize
[rootsql03 ~]# chown mysql:mysql /var/lib/mysql -R
[rootsql03 ~]# systemctl start mysqld.service;
[rootsql03 ~]# systemctl enable mysqld;4、查看初始密码并登录
[rootsql03 ~]# cat /var/log/mysqld.log | grep password
将上面命令最后一句话复制到password即可登录
[rootsql03 ~]# mysql -u root -p
Enter password:
5、修改密码
mysql create user root% identified with mysql_native_password by 123456;
Query OK, 0 rows affected (0.00 sec)创建远程访问权限
mysql GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql exit;
Bye三、三台主机安装mysql shell并部署使用
1、安装依赖
[rootsql03 ~]# yum install libyaml -y
已加载插件fastestmirror2、安装mysql shell
[rootsql03 ~]# rpm -ivh mysql-shell-8.2.0-1.el7.x86_64.rpm3、使用mysql shell部署集群
[rootsql01 ~]# mysqlsh --uri rootsql01:3306连接sql01MySQL sql01:3306 ssl JS \connect rootsql01:3306配置本地实例的数据库管理员DBA。MySQL sql01:3306 ssl JS dba.configureLocalInstance()Do you want to perform the required configuration changes? [y/n]: y
Do you want to restart the instance after configuring it? [y/n]: y
都选y4、重启mysql
[rootsql01 ~]# systemctl restart mysqld
5、检测是否就绪 [rootsql01 ~]# mysqlsh MySQL JS dba.checkInstanceConfiguration(rootsql01:3306)
{status: ok
}6、创建集群 [rootsql01 ~]# mysqlsh --uri rootsql01:3306 MySQL sql01:3306 ssl JS var cluster dba.createCluster(myCluster);
7、获取集群对象 MySQL sql01:3306 ssl JS var cluster dba.getCluster(myCluster); 8、将另外2台加入 MySQL sql01:3306 ssl JS cluster.addInstance(rootsql02:3306);
Please select a recovery method [C]lone/[I]ncremental recovery/[A]bort (default Clone): c C是克隆I是增量A收中止
MySQL sql01:3306 ssl JS cluster.addInstance(rootsql03:3306);
9、查看集群状态为ONLINE表示成功 四、mysql router安装
只需要在一台上安装mysqlrouter
[rootsql01 ~]# rpm -ivh mysql-router-community-8.2.0-1.el7.x86_64.rpm vim /etc/mysqlrouter/mysqlrouter.conf
在[DEFAULT] 下 设置连接数: max_connections1024 # 目前就支持两种 read-write 和 read-only # read-write用于高可用用于可读可写 # read-only用于负载均衡只读
五、测试
将PRIMARY192.168.6.150角色宕机
192.168.6.162会替代PRIMARY即使150重新连接也不会取代
SECONDARY宕机后重新连接会自动恢复集群状态 六、当集群所有节点都miss 如何恢复
进入mysql shell后用下列命令
mysql-js dba.rebootClusterFromCompleteOutage()