--mysql高可用官方文档:
mysql下载地址:
--安装参考链接:
#mysql 组复制的原理介绍:
#mysql group-replication安装部署介绍
安装拓扑图:
172.27.129.2 mysql-ha-s1
172.27.129.3 mysql-ha-s2
172.27.129.4 mysql-ha-s3
安装用户:work
安装位置:/mnt/disk01
#mysql-ha-s1安装
--安装前准备
#创建work用户
groupadd work
useradd -g work work
#设置hostname以及hosts
hostnamectl set-hostname mysql-ha-s1
#在/etc/hosts里面添加三台机器的host解析
172.27.129.2 mysql-ha-s1
172.27.129.3 mysql-ha-s2
172.27.129.4 mysql-ha-s3
#关闭服务器防火墙与selinux
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
#关闭selinux
/usr/sbin/sestatus -v
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#设置/mnt/disk01权限
chmod 777 /mnt/disk01
#开始安装进程
#进入work用户
su - work
tar -zxvf /home/work/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv /home/work/mysql-5.7.19-linux-glibc2.12-x86_64 /home/work/mysql-5.7.19
#安装数据库-配置文件与数据分开存储
/home/work/mysql-5.7.19/bin/mysqld --no-defaults --initialize --explicit_defaults_for_timestamp --basedir=/mnt/disk01/mysql/ --datadir=/mnt/disk01/data
注:请记录安装提示中的初始密码,例如:root@localhost: sdk>cO;Rq3B+
#mysql配置文件内容:
[mysqld]
# server configuration
datadir=/mnt/disk01/data
basedir=/mnt/disk01/mysql
#set plugin local value
plugin_dir=/home/work/mysql-5.7.19/lib/plugin
port=24801
socket=/tmp/mysql.sock
# base config
server_id=1
gtid_mode=ON
user=mysql
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
# group replication
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.27.129.2:24901"
loose-group_replication_group_seeds= "172.27.129.2:24901,172.27.129.3:24901,172.27.129.4:24901"
loose-group_replication_bootstrap_group= off
# open mutil_mode config
loose-group_replication_single_primary_mode=FALSE
loose-group_replication_enforce_update_everywhere_checks= TRUE
#创建配置文件
touch /mnt/disk01/mysql/my.cnf
将以上配置写入配置文件。
#配置mysql环境变量
vi ~/.bash_profile
在“export PATH”上一行增加如下内容:
PATH=$PATH:/home/work/mysql-5.7.19/bin
使配置文件生效:source ~/.bash_profile
#启动mysql数据库
/home/work/mysql-5.7.19/bin/mysqld --defaults-file=/mnt/disk01/mysql/my.cnf &
#非交互式修改初始密码
/home/work/mysql-5.7.19/bin/mysqladmin -S /tmp/mysql.sock -u root -p'sdk>cO;Rq3B+' password ‘your passwd’
#登录数据库:
mysql -uroot -p'your passwd’
#初始化与安装启动group-replication
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
#查询启动状态
SELECT * FROM performance_schema.replication_group_members;
#安装完毕
#mysql-ha-s2和mysql-ha-s3安装
注:全程参照s1安装,有以下几点存在改变。
1、注意my.cnf的server_id 顺延变为2和3
2、注意my.cnf的loose-group_replication_local_address顺延
3、mysql初始化与启动脚本按照如下操作:
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
set global group_replication_allow_local_disjoint_gtids_join=ON;
START GROUP_REPLICATION;
其他没有区别。
安装完成,进行测试即可。
- [项目部署] CentOs7 安装 MySQL/Tomcat/JDK 笔记
0.安装 MySQL cd /usr/local/ # 新增yum源 rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-.no ...
- Centos7 安装mysql服务器并开启远程访问功能
大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...
- RHEL5.6环境下yum安装MySQL
RHEL5.6环境下yum安装MySQL记录,2017年2月20日 1.卸载原有的MySQL rpm -qa命令查询是否安装了MySQL [root@localhost mysql]# rpm -qa ...
- CentOS7安装mysql提示“No package mysql-server available.”
针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...
- [CentOs7]安装mysql(2)
摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...
- centos7安装mysql
centos7安装mysql 1 查找系统是否安装了myql rpm -q mysql mysql-server1.1如果安装了.就删除 sudo yum -y remove mysql mysql- ...
- centos7安装mysql(yum)
centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...
- CentOS7安装MySQL的方法之通用二进制格式
CentOS7安装MySQL的方法之通用二进制格式
- CentOS7安装MySQL的方法之RPM包方式
CentOS7安装MySQL的方法之RPM包方式
- lamp环境搭建(apache安装,mysql安装,php安装)
1.卸载系统内置的LAMP环境 1)卸载httpd服务(内置Apache) ① 使用rpm指令查询安装的httpd服务 ② 卸载httpd服务 如果出现以上提示,代表系统默认不允许我们卸载软件,使用强 ...
随机推荐
- MySQL存储过程中实现执行动态SQL语句
sql语句中的任何部分都可以作为参数. DROP PROCEDURE if exists insertdata; delimiter //CREATE PROCEDURE insertdata(IN ...
- Groovy学习笔记-Java 5新特性支持
1.枚举enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG } def orderCoffee(size){ print "Coff ...
- 安装mysql5.5遇到的狗屁问题,最后还是细心一下就好
首先巩固下自己已经遗忘了一年的Mysql数据库和navicat可视化数据库,安装数据库没有具体要求直接点下一步就好,我第一次安装提示服务器名无效,后来发现了原因,mysql服务压根没有启动,也就是更直 ...
- 跟技术胖学vue+koa
首页热卖商品组件 技术点:1热卖商品封装成单独的组件 2路由和参数的传递 3详情页面路由参数的接收 //首页 <template> <div> <div class= ...
- spark学习笔记_1
简单的讲,Apache Spark是一个快速且通用的集群计算系统. Apache Spark 历史: 2009年由加州伯克利大学的AMP实验室开发,并在2010年开源,13年时成长为Apache旗下大 ...
- Sql 查询当天、本周、本月记录、上周、上月记录
查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 查询24小时内: select * from info where D ...
- css flex方法标题左右两边平衡线
<html> <div class="title"> <div class="line"></div> < ...
- angularjs - 自定义指令(directive)
自定义指令(directive) 使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名. 例子:使用驼峰法来命名一个指令, demoDirect ...
- mysql安装杂记
绿色版安装 先进入bin目录下初始化 命令:mysqld -initialize-insecure mysqld --initialize --user=mysql --console 初 ...
- django中云存储静态文件
Django自带文件存储系统存储在本地文件夹,如果我们将文件存储在云端,需要自定义文件存储系统. 自定义文件存储系统需要继承django.core.files.storage.Storage from ...