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

打印 上一主题 下一主题

主题 973|帖子 973|积分 2919

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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 的公钥尚未安装
  1. 失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64
  2. 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 [Note] 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文件,在[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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表