MySQL主从配置(配置过程分享)
MySQL主从配置一. 什么是MySQL主从?他有什么用?做了个什么事?
MySQL的主从复制是一种用于数据库的高可用性解决方案,它允许多个MySQL数据库服务器之间同步数据。这种架构通常由一个主服务器(Master)和一个或多个从服务器(Slave)构成。
主服务器(Master):主服务器是数据写入的地方。所有的更新(INSERT、UPDATE、DELETE)起首在主服务器上执行。
从服务器(Slave):从服务器用于读取操作,可以有多个。从服务器通过复制主服务器的数据来保持数据的同等性。
二. 配置过程
(一)安装MySQL
我在配置主从两台机器的MySQL时,选择了雷同版本的MySQL,为了避免版本不同发生的兼容性问题。(当然也可以选择克隆)
[*] 先查抄MySQL在本Linux上是否存在。
rpm -qa | grep mariadb (译:Red Hat Package Manager --query --all => 查找mariadb)
有就删掉。
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
再查询一次
rpm -qa|grep mariadb 返回NULL
[*] 下载并安装 MySQL 官方的 Yum
由于 CentOS 的 yum 源中没有 mysql,需要到 mysql 的官网下载 yum repo 配置文件
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
(译:网络下载 网址)
ls
(译:list )查看一下下载的结果。
[*] 安装MySQL的yum源
用yum语句安装后会天生两个repo文件,位置在:/etc/yum.repos.d/ 目录下
(译:repository configuration file:repo文件定义了yum源,即软件仓库的位置和配置信息。通过这些文件,yum知道从那里下载并安装所需的软件包 )
yum -y install mysql57-community-release-el7-11.noarch.rpm
语句运行后在目录下就能看到mysql-community.repo和mysql-community-source.repo
[*] 下载
yum -y install mysql-server (译:-y为自动复兴yes)
安装过程会出现一种报错如下,假如遇到可以尝试如下解决:
告诫:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.41-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEYmysql-community-common-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64
GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 解决方案:
运行下令 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
重新安装 yum -y install mysql-server
关于公钥未安装,不同的版本最好的方式还是从官网找。
[*] 启动 mysql 并查看状态
systemctl start mysqld.servicesystemctl status mysqld.service
(译:system control utility for Linux systemd systems)
[*] 查看第一次登岸的暗码
cat /var/log/mysqld.log | grep password2023-02-25T12:00:58.723624Z 1 A temporary password is generated for root@localhost: ‘这段随机码就是password’
[*] 在登录成功后修改暗码
MySQL5.7版本为了提高安全性对暗码要求特别高,所以我为了设置暗码为123456,需要先把他的安全品级降低下来。
set global validate_password_policy=LOW;
set global validate_password_length=5;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
exit;
(二)配置主从
1.主:
在主服务器上,编辑/etc/mysql/my.cnf文件,在部门添加以下配置:
server-id = 1log_bin = mysql-binexpire_logs_days = 7max_binlog_size = 100M
然后,重启MySQL服务以应用配置更改。
为了允许从服务器毗连到主服务器,你需要在主服务器上创建一个复制用户并授权:CREATE USER 'repl'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON . TO 'repl'@'%';
记得要革新:flush privileges;
执行以下SQL下令以获取二进制日记文件名和位置:SHOW MASTER STATUS;
2.从:
配置my.cnf文件:
server-id = 2relay_log = mysql-relay-bin
在从服务器上,执行以下SQL下令以配置复制:CHANGE MASTER TOMASTER_HOST='主服务器IP',MASTER_USER='repl',MASTER_PASSWORD='password',MASTER_LOG_FILE='主服务器的二进制日记文件名',MASTER_LOG_POS=主服务器的二进制日记位置;
START SLAVE;
查抄复制是否成功启动:SHOW SLAVE STATUS\G
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]