mysql主从复制

mysql主从复制

1.准备数据库服务器

要实现主从复制,需要准备两台版本相同,或版本不同但是互相兼容的数据库服务器,并保证两台数据库的连通性。

2.给两台服务器分别赋不同的server_id,并设置数据库服务器的只读状态

在主数据库(master)中给数据库服务器赋server_id(一般情况下,server_id可以取任意整数值,但是和从库不一致即可)

SET GLOBAL server_id = 1;

查询server_id

SELECT @@server_id;

在这里插入图片描述

给主库设置只读状态为0

SET GLOBAL read_only = 0;

查询主库的只读状态

SELECT @@read_only;

在这里插入图片描述

同理,在从数据库(slave)中给数据库服务器赋server_id(一般情况下,server_id可以取任意整数值,但是和主库不一致即可)

SET GLOBAL server_id = 5;

查询server_id

SELECT @@server_id;

在这里插入图片描述

给从库设置只读状态为1

SET GLOBAL read_only = 1;

查询从库的只读状态

SELECT @@read_only;

在这里插入图片描述

3.在主库中创建一个用于主从复制的角色,并赋予主从复制以及其他增删改查的权限
# 创建一个名为slave_user的用户,密码为123456
CREATE USER 'slave_user'@'%' IDENTIFIED BY '123456';
# 给slave_user用户赋予复制的权限
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%';
# 使赋权限的操作生效
FLUSH PRIVILEGES;
4.查看主库的日志信息以及日志坐标
show master status; 

在这里插入图片描述

5.从库配置
CHANGE MASTER TO MASTER_HOST='主库ip',MASTER_USER='slave_user',MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000032',MASTER_LOG_POS=88427;

其中,MASTER_HOST为主库ip;MASTER_USER为主库创建的复制用户名;MASTER_PASSWORD为主库创建的复制用户密码;MASTER_LOG_FILE为在主库查询的日志名File;MASTER_LOG_POS为主库日志当前坐标

6.在从库开启主从复制
start slave;

查看主从复制状态

show slave status;

在这里插入图片描述

在这里插入图片描述

如果Slave_IO_Running和Slave_SQL_Running都为Yes,则证明成功开启主从复制

7.主从复制验证

在主库中创建一个database

create database slave_test;

在这里插入图片描述

刷新从库数据库列表

在这里插入图片描述

发现从库成功创建相同数据库

至此,mysql的主从复制完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值