当前位置: 首页 > news >正文

linux下mysql-8.2.0集群部署(python版本要在2.7以上)

目录

一、三台主机准备工作

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、创建集群[root@sql01 ~]# mysqlsh --uri root@sql01:3306

7、获取集群对象 MySQL  sql01:3306 ssl  JS > var cluster = dba.getCluster('myCluster');

8、将另外2台加入 MySQL  sql01:3306 ssl  JS > cluster.addInstance('root@sql02: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

[root@localhost ~]# vim /etc/hosts
192.168.6.150 sql01
192.168.6.162 sql02
192.168.6.165 sql03[root@localhost ~]# hostnamectl set-hostname sql03
[root@localhost ~]# bash

3、关闭防火墙

[root@sql03 ~]# systemctl stop firewalld
[root@sql03 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@sql03 ~]# setenforce 0
[root@sql03 ~]# iptables -F

二、三台主机安装mysql-8.2.0

1、解压

[root@sql03 ~]# tar -xvf mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar 

2、下载相应配置

[root@sql03 ~]#  rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm 
[root@sql03 ~]#  rpm -ivh mysql-community-client-plugins-8.2.0-1.el7.x86_64.rpm 
[root@sql03 ~]#  rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm
[root@sql03 ~]#  rpm -ivh mysql-community-client-8.2.0-1.el7.x86_64.rpm 
[root@sql03 ~]#  rpm -ivh mysql-community-icu-data-files-8.2.0-1.el7.x86_64.rpm 
[root@sql03 ~]#  rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm

3、初始化mysql,启动myslq,设置开机自启

[root@sql03 ~]# sudo rm -rf /var/lib/mysql/*
[root@sql03 ~]# sudo -u mysql mysqld --initialize
[root@sql03 ~]# chown mysql:mysql /var/lib/mysql -R
[root@sql03 ~]# systemctl start mysqld.service;
[root@sql03 ~]# systemctl enable mysqld;

4、查看初始密码并登录

[root@sql03 ~]# cat /var/log/mysqld.log | grep password
将上面命令最后一句话复制到password即可登录
[root@sql03 ~]# 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、安装依赖

[root@sql03 ~]# yum install libyaml -y
已加载插件:fastestmirror

2、安装mysql shell

[root@sql03 ~]#  rpm -ivh mysql-shell-8.2.0-1.el7.x86_64.rpm

3、使用mysql shell部署集群

[root@sql01 ~]# mysqlsh --uri root@sql01:3306连接sql01MySQL  sql01:3306 ssl  JS > \connect root@sql01: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
都选y

4、重启mysql

[root@sql01 ~]# systemctl restart mysqld 

5、检测是否就绪


[root@sql01 ~]# mysqlsh MySQL  JS > dba.checkInstanceConfiguration('root@sql01:3306')
{"status": "ok"
}

6、创建集群
[root@sql01 ~]# mysqlsh --uri root@sql01: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('root@sql02: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('root@sql03:3306');

9、查看集群状态为ONLINE表示成功

四、mysql router安装

只需要在一台上安装mysqlrouter

[root@sql01 ~]# rpm -ivh mysql-router-community-8.2.0-1.el7.x86_64.rpm 

vim /etc/mysqlrouter/mysqlrouter.conf

在[DEFAULT] 下
设置连接数: max_connections=1024 

 # 目前就支持两种 : read-write 和 read-only
 # read-write:用于高可用,用于可读可写
 # read-only:用于负载均衡,只读

五、测试

将PRIMARY(192.168.6.150)角色宕机

192.168.6.162会替代PRIMARY,即使150重新连接也不会取代

SECONDARY宕机后,重新连接会自动恢复集群状态

六、当集群所有节点都miss ,如何恢复

进入mysql shell后用下列命令

mysql-js> dba.rebootClusterFromCompleteOutage()

相关文章:

  • 使用 PyTorch 构建自定义 GPT
  • android services
  • 国际多语言出海商城源码/返佣产品自动匹配拼单商城源码
  • MacOS将Node.js升级到最新版本
  • pytest 使用(二):前后置(固件,夹具)
  • asp.net老年大学教务管理信息系统VS开发sqlserver数据库web结构c#编程
  • Web Woeker和Shared Worker的使用以及案例
  • 【牛客网】安全—加密和安全
  • CSS3盒模型
  • C语言实现 1.在一个二维数组中形成 n 阶矩阵,2.去掉靠边元素,生成新的 n-2 阶矩阵;3.求矩阵主对角线下元素之和:4.以方阵形式输出数组。
  • Linux编辑器-vim使用
  • Cross Site Scripting (XSS)
  • MongoDB——MongoDB删除系统自带的local数据库
  • 淘宝协议最新版
  • GZ035 5G组网与运维赛题第7套
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • CAP理论的例子讲解
  • docker容器内的网络抓包
  • HTTP中GET与POST的区别 99%的错误认识
  • Intervention/image 图片处理扩展包的安装和使用
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Linux链接文件
  • opencv python Meanshift 和 Camshift
  • Python - 闭包Closure
  • springboot_database项目介绍
  • Vue小说阅读器(仿追书神器)
  • 笨办法学C 练习34:动态数组
  • 初探 Vue 生命周期和钩子函数
  • 关于Flux,Vuex,Redux的思考
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 浅谈web中前端模板引擎的使用
  • 一个完整Java Web项目背后的密码
  • hi-nginx-1.3.4编译安装
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 数据库巡检项
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (7)STL算法之交换赋值
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (九)c52学习之旅-定时器
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)可以带来幸福的一本书
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @GetMapping和@RequestMapping的区别
  • @Pointcut 使用
  • [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素
  • [CSS]CSS 字体属性
  • [go] 迭代器模式