--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服务 如果出现以上提示,代表系统默认不允许我们卸载软件,使用强 ...
随机推荐
- 微信小程序拒绝授权,反复调起原生授权框。
最近堕落了,有一阵子没有更新博客园了.一是比较忙,其次也没什么好的题材和工作中的解决方案可以分享的,想想还是把罕见的反复调起原生小程序授权框的方案拿出来说说. 市面上常见的解决方案是第一次拒绝后, ...
- python sheet写入数据
import pandas as pd from pandas import DataFrame import openpyxl from openpyxl import load_workbook ...
- select中想要加a链接 并且新窗口打开
//新窗口打开 <select id="" onchange="window.open(this.value)"> <option value ...
- 剑指Offer 63. 数据流中的中位数(其他)
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们 ...
- C# Main函数中调用异步方法的2种实现
As you discovered, in VS11 the compiler will disallow an async Main method. This was allowed (but ne ...
- AC, FVOCI, FVPL
IFRS9 会计新准则中规定了资产划分依据为合同现金流特征及业务模式. 关键词:资产负债表,利润表,损益,利率风险 AC账户: 为收取合同约定的现金流.持有到期业务. 资产在持有期内不变,使用摊余成本 ...
- Hive元数据找回
如果不小心删除了了hive的元数据文件(/user/hive/warehouse),只要先前core-site.xml文件中设置了fs.trash.interval属性就可以找回.hdfs会为用户创建 ...
- gulp在项目中的基本使用
在项目中用gulp做项目的代码的管理,用起来很方便.主要用到了下面一些功能 关于js的处理,包括合并.压缩.加hash. 关于css的处理,编辑scss,合并css,加hash,自动加入前缀 本地开发 ...
- python爬虫之常见的加密方式
前言 数据加密与解密通常是为了保证数据在传输过程中的安全性,自古以来就一直存在,古代主要应用在战争领域,战争中会有很多情报信息要传递,这些重要的信息都会经过加密,在发送到对应的人手上. 现代 ,在网络 ...
- C++实验七
#include <iostream> using namespace ::std; int main() { ios_base::fmtflags original_flags = co ...