mysql8主主

1.firewalld&&selinux

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
init 6

2.mysql8主主

#master
yum install -y wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
yum install -y  mysql80-community-release-el7-5.noarch.rpm
yum install  mysql-community-server -y
systemctl enable mysqld --now 
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
alter user 'root'@'localhost' identified by '123456Qwer!'; 
set global validate_password.policy=0;
set global validate_password.length=4;
alter user 'root'@'localhost' identified by '123456';
exit
vim /etc/my.cnf
server_id=1
log-bin=mysql-bin
binlog-do-db=nextcloud #只同步的数据库
systemctl restart mysqld
mysql -uroot -p997998
set global validate_password.policy=0;
set global validate_password.length=4;
CREATE USER 'slave1'@'%' IDENTIFIED BY 'slave1';
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';
alter user 'slave1'@'%' identified with mysql_native_password by 'slave1';
flush privileges;
SHOW MASTER STATUS;



#backup
yum install -y wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
yum install -y  mysql80-community-release-el7-5.noarch.rpm
yum install  mysql-community-server -y
systemctl enable mysqld --now 
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
alter user 'root'@'localhost' identified by '123456Qwer!'; 
set global validate_password.policy=0;
set global validate_password.length=4;
alter user 'root'@'localhost' identified by '123456';
exit
vim /etc/my.cnf
server_id=2
log-bin=mysql-bin
binlog-do-db=nextcloud 
systemctl restart mysqld
mysql -uroot -p123456
CHANGE MASTER TO
MASTER_HOST='192.168.20.10',
master_port=3306, 
MASTER_USER='slave1',
MASTER_PASSWORD='slave1',
MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=30394;
start slave;
show slave status\G;
set global validate_password.policy=0;
set global validate_password.length=4;
CREATE USER 'slave2'@'%' IDENTIFIED BY 'slave2';
GRANT REPLICATION SLAVE ON *.* TO 'slave2'@'%';
alter user 'slave2'@'%' identified with mysql_native_password by 'slave2';
flush privileges;
SHOW MASTER STATUS;
#master
CHANGE MASTER TO
MASTER_HOST='192.168.20.20',
master_port=3306, 
MASTER_USER='slave2',
MASTER_PASSWORD='slave2',
MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=1146;
start slave;
show slave status\G;
#创建nextcloud账号和库
create database nextcloud;
create user 'nextcloud'@'%' identified by 'nextcloud';
grant all PRIVILEGES on *.* to nextcloud@'%' WITH GRANT OPTION;
ALTER USER 'nextcloud'@'%' IDENTIFIED BY 'nextcloud' PASSWORD EXPIRE NEVER;
ALTER USER 'nextcloud'@'%' IDENTIFIED WITH mysql_native_password BY 'nextcloud';
FLUSH PRIVILEGES;
#迁移数据盘
mkdir -p /data/mysql
systemctl stop mysqld
cp -a /var/lib/mysql   /data/mysql/
cd /etc
cp my.cnf my.cnfbak
vim /etc/my.cnf
  datadir=/data/mysql/mysql
systemctl start mysqld
mysql -uroot -p997998
show variables like '%dir%';

3.docker下mysql主主

#安装docker,mysql
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate telnet ipvsadm
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
systemctl enable docker --now && systemctl status docker
vim /etc/docker/daemon.json
{
 "registry-mirrors":["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
} 
systemctl daemon-reload && systemctl restart docker && systemctl status docker
docker run -d -p 3306:3306 --restart=always -v /data/mysql/data:/var/lib/mysql -v /data/mysql/logs:/logs  -e MYSQL_ROOT_PASSWORD=123456 --hostname mysql -v /etc/localtime:/etc/localtime --name mysql mysql
#master
docker exec -it mysql /bin/bash
mysql -uroot -p123456
apt-get update 
apt-get install -y vim
vim /etc/mysql/my.cnf
server_id=1
log-bin=mysql-bin
binlog-do-db=nextcloud
exit 
docker restart mysql
docker exec -it mysql /bin/bash
mysql -uroot -p123456
#backup
docker exec -it mysql /bin/bash
mysql -uroot -p123456
apt-get update 
apt-get install -y vim
vim /etc/mysql/my.cnf
server_id=2
log-bin=mysql-bin
binlog-do-db=nextcloud
exit 
docker restart mysql
docker exec -it mysql /bin/bash
mysql -uroot -p123456
#master
CREATE USER 'slave1'@'%' IDENTIFIED BY 'slave1';
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';
alter user 'slave1'@'%' identified with mysql_native_password by 'slave1';
flush privileges;
SHOW MASTER STATUS;
#backup
#根据master status
CHANGE MASTER TO
MASTER_HOST='192.168.20.10',
master_port=3306, 
MASTER_USER='slave1',
MASTER_PASSWORD='slave1',
MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=1143;          
start slave;
show slave status\G;
CREATE USER 'slave2'@'%' IDENTIFIED BY 'slave2';
GRANT REPLICATION SLAVE ON *.* TO 'slave2'@'%';
alter user 'slave2'@'%' identified with mysql_native_password by 'slave2';
flush privileges;
SHOW MASTER STATUS;
#master
CHANGE MASTER TO
MASTER_HOST='192.168.20.20',
master_port=3306, 
MASTER_USER='slave2',
MASTER_PASSWORD='slave2',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1144;
start slave;
show slave status\G;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值