当前位置:   article > 正文

Centos实现Mysql8.4安装及主主同步_centos mysql8.4安装

centos mysql8.4安装

8.4的Msyql在同步的时候与之前的版本有很大不同,这里记录一下安装流程

Mysql安装

官网下载
选择自己的版本,选第一个
在这里插入图片描述
复制下载链接
在这里插入图片描述
在服务器上创建一个msyql目录
使用命令下载,链接换自己的

wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm
  • 1

下载后解压

tar -xvf xxx.tar
  • 1

在这里插入图片描述

解压后安装

rpm -ivh *.rpm    --force --nodeps
  • 1

在这里插入图片描述

启动mysql

systemctl start mysqld
  • 1

查看状态

systemctl status mysqld
  • 1

关闭mysql

systemctl stop mysqld
  • 1

重启mysql

systemctl restart mysqld
  • 1

设置开机自启动

systemctl enable mysqld
  • 1

修改密码

获取初始密码

grep 'temporary password' /var/log/mysqld.log
  • 1

在这里插入图片描述

用初始密码登录mysql

mysql -u root -p
  • 1

修改密码安全等级为LOW

set global validate_password.policy=LOW;
  • 1

修改密码最短长度

set global validate_password.length=6;
  • 1

上面两步按需修改

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
  • 1

添加新用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • 1

设置远程登录

use mysql;
select host, user from user;
update user set host = '%' where user = 'root';
  • 1
  • 2
  • 3

退出重启

exit
  • 1
systemctl restart mysqld
  • 1

主主复制

意思是不管那台发生了改变,都会同步到另一台

在第一台服务器上修改/etc/my.cnf文件

vim /etc/my.cnf
  • 1

在后面加上这些,开启binlog
在这里插入图片描述

[mysqld]
log-bin=mysql-bin
server-id=1
auto-increment-increment=2
auto-increment-offset=1
  • 1
  • 2
  • 3
  • 4
  • 5

重启mysql

systemctl restart mysqld
  • 1

进入mysql,查看mysql是否开启

SHOW VARIABLES LIKE 'log_bin';
  • 1

在这里插入图片描述

创建一个用户用来专门同步

CREATE USER 'replica_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;
  • 1
  • 2
  • 3

获取二进制日志文件名和位置

SHOW MASTER STATUS;
  • 1

如果使用的Mysql版本是8.4及以上,需要注意要使用下面的命令
在这里插入图片描述

SHOW BINARY LOG STATUS;
  • 1

官方说明文档

在这里插入图片描述

修改第二台服务器的my.cnf

[mysqld]
log-bin=mysql-bin
server-id=2
auto-increment-increment=2
auto-increment-offset=2
  • 1
  • 2
  • 3
  • 4
  • 5

创建一个用户用来专门同步

CREATE USER 'replica_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;
  • 1
  • 2
  • 3

获取二进制日志文件名和位置

SHOW BINARY LOG STATUS;
  • 1

在这里插入图片描述

配置同步

  • 第一台

8.4以前的写法

CHANGE MASTER TO
MASTER_HOST='第二台的IP',
MASTER_USER='第二台上用于同步的用户名',
MASTER_PASSWORD='用户密码',
MASTER_LOG_FILE='mysql-bin.000001', -- 用你在第二台服务器上获得的日志文件名
MASTER_LOG_POS=555; -- 用你在第二台服务器上获得的位置
START SLAVE; -- 开启备份
STOP SLAVE; -- 停止备份
SHOW SLAVE STATUS: -- 查看备份状态
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

8.4后的写法

CHANGE REPLICATION SOURCE TO
SOURCE_HOST='第二台的IP',
SOURCE_USER='第二台上用于同步的用户名',
SOURCE_PASSWORD='用户密码',
SOURCE_LOG_FILE='mysql-bin.000001', -- 用你在第二台服务器上获得的日志文件名
SOURCE_LOG_POS=555; -- 用你在第二台服务器上获得的位置
START REPLICA; -- 开启备份
STOP REPLICA; -- 停止备份
SHOW REPLICA STATUS; -- 查看备份状态
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

第二台同上

检查是否同步成功

两台都用sql查询

SHOW REPLICA STATUS;
  • 1

确保Slave_IO_RunningSlave_SQL_Running都显示为Yes
在这里插入图片描述

在第一台添加数据库test1
在这里插入图片描述
刷新第二台
在这里插入图片描述
可以看到已经同步过来了
同样可以测试在第二台添加
第一台也能同步
删除其中一台里面的数据,另一台也会同步删除
这里不做记录,我试过了
可自行测试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/781657
推荐阅读
相关标签
  

闽ICP备14008679号