mysql主从复制-主库已有数据

一、备份已有数据

1、备份主库,及恢复到从库

把主库现有数据备份下来,再恢复到从库,此时两个主机的数据一致。
如果事先有数据的话,这步不能忘。

1)在主库上加锁,使只有只读权限。
mysql > flush table with read lock;
2)记住就是这个点备份的。

在这里插入图片描述

3)备份数据。
root@bogon ~]# mysqldump -uroot -p --all-databases|gzip > dump.sql.gz
4)解锁库(备份完成之后执行此步骤)
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
5)恢复到从库
mysql> source /home/admin/dump.sql;

由于数据量非常大,所以这步执行非常耗时。

二、mysql搭建一主一从

在59和89上都安装上mysql再进行以下操作.

主从原理图:
在这里插入图片描述

1.59为主,给89授权
grant replication slave on *.* to 'root'@'192.168.22.89 ' identified by 'root';

参数说明:
用户名:root
密码:root
意思是:允许192.168.22.89使用用户名为root,密码为root访问59

2.开启59的binarylog

打开my.cnf配置文件,添加一下配置:
使用命令编辑my.cnf这个配置文件: vi /etc/my.cnf
在这里插入图片描述

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=59
log-bin=mysql-bin
expire_logs_days= 7
# binlog每个日志文件大小
max_binlog_size= 100m                
# binlog缓存大小
binlog_cache_size= 4m     
# 最大binlog缓存大小
max_binlog_cache_size= 512m  
# 不写这句意思是默认同步所有数据库         
binlog-do-db=401_itoo
3.设置89的my.cnf文件

在这里插入图片描述

log-bin=mysql-bin
binlog_format=mixed
server-id=89
# 下面这句不写意思是默认为所有数据库
replicate-do-db=401_itoo
4.查看59的binary日志位置,配置89的时候需要用到

连接上mysql,使用命令查看binary

show master status\G

在这里插入图片描述

File:日志名称
Position:日志偏移量
Binlog_Do_DB:记录日志的库
5.开启89的同步

在89上执行以下命令:
在这里插入图片描述

HOST: 主节点ip
USER: 59授权给89的用户名
PASSWORD: 授权给89的密码
MASTER_LOG_FILE: 59的日志名称
MASTER_LOG_POS: 日志偏移量,需要和59的一样
6.查看89的slave线程是否开启

在这里插入图片描述

Slave_IO_Running为读取master的binaryLog的线程
Slave_SQL_Running为执行SQL的线程
(这两个线程必须都为YES才可以实现主从复制)
Seconds_Behind_Master 表示: slave的SQL线程与I/O线程的时间差。

它的作用:
通过监控 show slave status\G 命令输出的 Seconds_Behind_Master 参数的值来判断,是否有发生主从延时。其值有这么几种:

NULL — 表示io_thread或是 sql_thread 有任何一个发生故障,也就是该线程的 Running 状态是 No,而非 Yes。

0 — 该值为零,是我们极为渴望看到的情况,表示主从复制良好,可以认为 lag 不存在。

正值 — 表示主从已经出现延时,数字越大表示从库落后主库越多。

负值 — 几乎很少见,这是一个BUG值,该参数是不支持负值的,也就是不应该出现。

到此主从复制就搭建完了。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨幂等

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值