MySQL主从配置(配置过程分享)

MySQL主从配置

一. 什么是MySQL主从?他有什么用?做了个什么事?

MySQL的主从复制是一种用于数据库的高可用性解决方案,它允许多个MySQL数据库服务器之间同步数据。这种架构通常由一个主服务器(Master)和一个或多个从服务器(Slave)组成。

主服务器(Master):主服务器是数据写入的地方。所有的更新(INSERT、UPDATE、DELETE)首先在主服务器上执行。

从服务器(Slave):从服务器用于读取操作,可以有多个。从服务器通过复制主服务器的数据来保持数据的一致性。

二. 配置过程

(一)安装MySQL

我在配置主从两台机器的MySQL时,选择了相同版本的MySQL,为了避免版本不同发生的兼容性问题。(当然也可以选择克隆)

  1. 先检查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

  2. 下载并安装 MySQL 官方的 Yum

    由于 CentOS 的 yum 源中没有 mysql,需要到 mysql 的官网下载 yum repo 配置文件

    wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

    (译:网络下载 网址)

    ls

    (译:list )查看一下下载的结果。

  3. 安装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

  4. 下载

    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

关于公钥未安装,不同的版本最好的方式还是从官网找。

  1. 启动 mysql 并查看状态

    systemctl start mysqld.servicesystemctl status mysqld.service

    (译:system control utility for Linux systemd systems)

  2. 查看第一次登陆的密码

    cat /var/log/mysqld.log | grep password2023-02-25T12:00:58.723624Z 1 [Note] A temporary password is generated for root@localhost: ‘这段随机码就是password

  3. 在登录成功后修改密码

    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文件,在[mysqld]部分添加以下配置:

    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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值