MySQL8.0主从复制

MySQL主从复制

记一次主从复制配置,以防自己忘掉,方便以后查找。写的有不对的地方还望大家指正,谢谢!

1.主库配置

1.修改数据库配置文件my.cnf文件
文件默认在/etc/mysql/my.cnf

[mysqld]
# 主从复制
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id 必须唯一

添加配置后需要重启MySQL
2.添加用户并查看binlog信息

-- 创建用于主从复制的用户,slave = 用户名  % = 代表所有IP都可以连接(可换成具体ip)  123456 = 密码
CREATE USER 'slave'@'%' IDENTIFIED with mysql_native_password by '123456';
-- 为该用户赋予权限
GRANT replication slave on *.* to 'slave'@'%';
-- 刷新配置
FLUSH PRIVILEGES;
-- 查看创建的用户是否存在
use mysql;
select user, host from user;
-- 查看当前binlog节点及position值
show master status;

获取当前主数据库中binlog节点
当前主数据库中binlog节点

2.从库配置

1.修改数据库配置文件my.cnf文件

[mysqld]
# 主从复制
server-id=2 #设置server-id,必须唯一

重启MySQL数据库

2.添加主数据库信息

-- 添加主数据库信息及读取binlog的节点信息
CHANGE MASTER TO MASTER_HOST = '192.168.158.128',
MASTER_USER = 'slave',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 820
-- 启动从库
START SLAVE;
-- 查看主从状态
SHOW SLAVE STATUS;

查看主从同步状态,如果Slave_IO_Running = yes并且Slave_SQL_Running = yes则代表主从同步已经正常启动,若存在No,则需要根据Last_IO_ErrorLast_SQL_ErrorLast_Error这三个字段对应的报错信息进行分析及修改。
在这里插入图片描述

3.验证

在主库创建数据表(这里用file_attachment表)

-- 切换database
USE mysql;
-- 创建数据库表
CREATE TABLE `file_attachment` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `created` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  `deleted` datetime(3) DEFAULT NULL,
  `updated` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
  `version` int NOT NULL DEFAULT '0',
  `file_path` varchar(63) COLLATE utf8_unicode_ci DEFAULT NULL,
  `operator` varchar(63) COLLATE utf8_unicode_ci DEFAULT NULL,
  `comment` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `file_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

查看从库中是否有该数据库
:新建表需要添加字符集,不然向表中添加数据时会报字符集不正确,致使主从同步暂停。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值