mysql主从复制

默认前期的准备工作已做好 linux 跟msyql的安装已安装好
参考文档:https://blog.csdn.net/u013068184/article/details/107691389

(一)基于二进制日志文件的方法


## 主从数据库配置核心部分

# 设置同步的binary log二进制日志文件名前缀,默认为binlog
log-bin=mysql-bin
# 服务器唯一id,默认为1  主数据库和从数据库的server-id不能重复
server-id=1          

###可选配置
# 需要主从复制的数据库  这个地方也可以不配置 默认就是所有的数据库
binlog-do-db=test
# 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)
binlog-ignore-db=mysql

在这里插入图片描述

**重新启动数据库  systemctl restart mysqld**

启动主数据库,创建一个同步复制用户(非必需,也可以用root用户):

create user 'slave2'@'%' identified by '123456'

在这里插入图片描述

- MySQL创建用户命令说明:create user ‘username’@‘host’ identified by ‘password’;

  • username:指定创建的用户名
  • host:指定用户登录的主机ip,% 表示任意主机都可远程登录,localhost 表示本地才能登录
  • password:指定该用户的登录密码

接着给创建的用户授权同步复制权限:

grant replication slave on *.* to 'slave2'@'%'

MySQL创建授权命令说明:grant privilege on database.table to ‘username’@‘host’;
privilege :指定授权的权限,比如create、drop等权限,具体有哪些权限,可查看官网文档
database:指定哪些数据库生效,*表示全部数据库生效
table:指定所在数据库的哪些数据表生效,*表示所在数据库的全部数据表生效
username:指定被授予权限的用户名
host:指定用户登录的主机ip,%表示任意主机都可远程登录

最后刷新权限生效:

 flush privileges

接着执行命令查看并记下binary log二进制日志文件名 File 以及位置 Position的值,需要在从数据库用到:

  show master status

在这里插入图片描述

**

配置从数据库的my.cnf配置文件(只贴核心部分):

**

###主从数据库配置核心部分
# 设置同步的binary log二进制日志文件名前缀,默认是binlog
log-bin=mysql-bin
# 服务器唯一ID  主数据库和从数据库的server-id不能重复
server-id=4

###可选配置
# 需要主从复制的数据库  因为主机没有配置 这也就不用配置
#replicate-do-db=test
# 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步) 
binlog-ignore-db=mysql

重新启动从数据库,执行以下命令设置与主数据库的联系:
先执行:

stop slave;

再执行

change master to MASTER_HOST='192.168.190.130',MASTER_PORT=3306,MASTER_USER='slave2',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=120;

说明:
MASTER_HOST:主数据库的主机ip
MASTER_PORT:主数据库的端口,不设置则默认是3306
MASTER_USER:主数据库被授予同步复制权限的用户名MASTER_PASSWORD:对应的用户密码
MASTER_LOG_FILE:在主数据库执行命令show master status 查询到的二进制日志文件名称
MASTER_LOG_POS:在主数据库执行命令show master status 查询到的位置 Position的值
最后开启主从复制工作

start slave

可执行命令查看详细信息以及状态:

show slave status

在这里插入图片描述
假如需要停止主从复制工作,则执行以下命令:

stop slave

假如重新配置主机

stop slave
reset master

测试:在主机创建一个数据库 一个表 插入几条数据 看下从库是否有对应的数据库 表 以及数据 这里就不写了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值