MySQL 主从复制

简介

MySQL 要做到主从复制,其实依靠的是二进制日志,即:假设主服务器叫A,从服务器叫B;主从复制就是
B跟着A学,A做什么,B就做什么。那么B怎么同步A的动作呢?现在A有一个日志功能,把自己所做的增删改查的动作全都记录在日志中,B只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制。

主从复制常见命令

编号命令说明
01service mysqld restart重新启动MySQL服务
02show master status查看主库信息
03show slave status \G查看从库配置信息(\G表示竖向显示,默认横向显示)
04/etc/init.d/mysql stop停止MySQL 服务
05/etc/init.d/mysql start启动MySQL 服务
06grant replication slave on . To ‘accountName’@‘从IP’ identified by ‘loginPwd’创建用户并赋予从数据的权限
07flush privileges刷新数据配置生效
08chane master to master_host=‘主库IP’,master_port=3306,master_user=‘accountName’,master_password=‘loginPwd’,master_log_file=‘主库二进制文件名称’,master_log_pos=0配置从库信息
09start slave开启主从跟踪(从库执行)
10stop slave关闭主从跟踪
11GRANT select,insert,update,delete on . TO ‘loginAccount’@’%’ IDENTIFIED BY ‘loginPwd’ with grant option创建账户并赋予权限;%表示账号可以远程访问

主从数据库配置

1. 主数据配置步骤

  1. 设置server ID
  2. 打开 二进制文件
  3. 打开二进制文件索引

windowns MySQL安装目录下mysql.ini 中配置;Linux 在etc/my.cnf 中配置;

# 标识Server-id ID 1 - 36 建议 10 以上
server-id=11

# 打开二进制文件
log-bin=master-bin
#log-bin=mysql-bin

#打开二进制文件索引文件
log-bin-index=master-bin.index

修改了配置需要重新启动数据库服务(service mysqld restart)

主数据创建一个账号用于从数据登录

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从数据IP地址' IDENTIFIED BY 'mysql';
flush privileges;

意思是从数据以repl 账号 mysql 作为密码连接,主数据就赋予REPLICATION SLAVE 这个权限;这个权限是正对主上面的所有数据所有表的操作

GRANT REPLICATION SLAVE ON 那个数据.那张表 ‘账号’@‘从IP地址’ IDENTIFIED BY ‘密码’

所有数据,或者所有表就用*代替

flush privileges; 及时刷新主库,让修改生效

2. 从数据库配置

还是修改my.cnf 或者mysql.ini文件

# 设置server-id
server-id=12
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

重启mysql 服务
/etc/init.d/mysql stop
/etc/init.d/mysql start

3. 让从数据知道主数据地址

让从数据知道主数据地址

change master to master_host='主数据IP地址',master_port=3306,master_user='repl',master_password='mysql',master_log_file='二进制文件',master_log_pos=0;
start slave;

代码说明
master_log_file 是通过show master status 显示值 File
master_log_pos 是通过 show msater status 显示的 Position

主库二进制文件查看

show master status;

file 值就是二进制文件

master_log_pos 从第一个开始复制;
start slave; 开启主从跟踪

stop slave;停止主从复制;
show slave status \G; \G 竖向显示

特别注意

  1. 主库只负责写数据
  2. 从库只负责读数据
  3. 从库版本一定要比主库高
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值