MySQL主从同步

type
status
date
slug
summary
tags
category
icon
password
  • 系统:Ubuntu 18.04 TLS
  • MySQL版本:8.0
  • 机器:百度云1C2G*2

准备工作

  • SSH连接主库服务器
ssh -p[ssh port] [username]@[vps ip]
  • 更新源和系统组件
apt-get update
apt-get upgrade
  • 安装最新的Vim
apt install vim

MySQL8.0安装

⚠️如过直接使用apt install mysql-server来安装恭喜你踩坑了这样安装版本是5.7因为 apt的源没有更新到8.0
  • 为系统添加8.0的源
  • wgetcurl Ubuntu / Debian (Architecture Independent), DEB Package项的Download的链接,到一个文件夹,比如/opt
  • dpkg -i [Package Path]
  • 步骤如下图所示
notion image
notion image
notion image
  • 更新源
    • apt-get update
      ⚠️如果可看到mysql-8.0xxxx那就是成功了
  • 安装
    • apt install mysql-server
  • 如图
notion image
notion image
notion image
  • 等会儿安装就完成了

主库配置

  • 修改my.cnf配置文件
修改主数据库mysql配置,找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行
  • 重启MySQL
    • service mysql restart
  • 添加同步用户
⚠️ 其中192.168.1.6是从库主机的IP
  • 查看master装填并记录二进制文件名和位置
  • 打开MySQL会话
  • mysql -uroot -p
  • 查看master装填
  • show master status;
⚠️️把File和Position的名字记住配置从库时要用到

从库数据库安装

  • 请参考主库的安装流程

从库配置

  • 修改mysql配置
  • 同样找到my.cnf配置文件并修改
  • 重启从库
service mysql restart
  • 打开MySQL会话配置从库
  • 解释
    • MASTER_HOST 主库IP
    • MASTER_USER 用于同步的账户
    • MASTER_PASSWORD 账户密码
    • MASTER_PORT 用来同步的端口
    • MASTER_LOG_FILE 刚才记录的主库File
    • MASTER_LOG_POS 刚才记录的主库Position
    • MASTER_CONNECT_RETRY 超时等待时间
  • 启动slave同步进程
start slave;<br> #这是停止 stop slave;
  • 查看slave状态
show slave status\\G;
⚠️ Slave_IO_Running和Slave_SQL_Running都是Yes说明成了

写入测试

在主库新建一个表插入一些数据观察从库是否可以同步过去,效果就是主库和从库数据库和表以及表里的数据应该是一样且同步的。
Loading...

© ShellMing 2019-2025