10分钟搞定Mysql主从部署配置

流程

  1. Master数据库安装
  2. Slave数据库安装
  3. 配置Master数据库
  4. 配置Slave数据库

网络信息

  1. Master数据库IP:192.168.198.133
  2. Slave数据库IP:192.168.198.132

配置Master数据库

在Master数据库安装完毕后,修改/etc/my.cnf

[mysqld]
server-id=1 \\指定ID,主从的两台虚拟机ID必须不同
log-bin=mysql-bin \\mysql根据配置自动设置指定的二进制文件名

修改完配置文件,重启数据库主库

systemctl restart mysqld

在Master库中添加同步使用的用户(不能用root)

SQL 复制代码
-- 创建用户synch,IP地址必须绑定Slave服务器IP,否则Slave无法通过此账号来访问
create user 'synch'@'192.168.198.132' identified by '123456';  
-- 对账号的数据库和数据表进行授权,授权全部库即可
grant replication slave on *.* to 'synch'@'192.168.198.132';
-- 刷新权限
flush privileges;

查看住数据库状态,确定日志File名和当前bin日志的位置,提供给从库做配置使用。下图中的Position指的是log-bin日志的位置,一般这里写什么,从库中就写什么。从库中写了该信息后,同步将从此日志位置开始

也就是说,在同步之前,你的主库和从库状态必须是一致的。否则在从库配置该属性的时候,就要配置为0

配置Slave数据库

你有几个Slave就配置几个,咱们这以一个Slave数据库举例。同样先修改/etc/my.cnf

[mysqld]
server-id=2
replicate-do-db=test \\指定要复制的数据库

修改完重启数据库

systemctl restart mysqld

进入从库的交互模式

mysql -uroot -p
-- 输入密码

-- 停掉同步
stop slave;

-- 修改同步的配置,注意:以下配置每一行后面一定不能有空格,否则识别可能不通过
change
master to
master_host='192.168.198.133', 
master_port=3306,
master_user='synch',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=3558;

-- master_host:主库的IP
-- master_user:同步用户,就是上一环节创建的用户
-- master_password:用户密码,就是上一环境创建的用户密码
-- master_log_file:上一环节看到的日志文件名
-- master_log_pos: 从哪一行开始同步

-- 开启同步
start slave;

-- 查看从库同步信息和状态
show slave status\G;

从库同步信息和状态中,只要Slave_IO_Running和Slave_SQL_Running 都是Yes,就证明同步正常了

注意事项

  1. 对从库进行配置前,建议在从库服务器上,使用同步账号通过mysql命令进行一次访问,来确保两台服务器之间可以相互访问

    mysql -h 192.168.198.133 -u synch -p
    -- 输入密码

  2. 同步前强烈建议先把主库和从库需要同步的数据库调整为一致,否则如果主库数据里大,会进行漫长的同步等待

相关推荐
刘大浪几秒前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
无敌岩雀8 分钟前
MySQL中的索引
数据库·mysql
a_安徒生30 分钟前
linux安装TDengine
linux·数据库·tdengine
东阳马生架构32 分钟前
MySQL原理简介—1.SQL的执行流程
mysql
程序员学习随笔33 分钟前
PostgreSQL技术内幕19:逻辑备份工具pg_dump、pg_dumpall
数据库·postgresql
尘浮生1 小时前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
偶尔。5351 小时前
什么是事务?事务有哪些特性?
数据库·oracle
安迁岚1 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验六 视图
数据库·sql·mysql·oracle·实验报告
xoxo-Rachel1 小时前
(超级详细!!!)解决“com.mysql.jdbc.Driver is deprecated”警告:详解与优化
java·数据库·mysql
JH30732 小时前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle