博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql5.7主从全备恢复_mysql5.7主从同步配置
阅读量:5733 次
发布时间:2019-06-18

本文共 1951 字,大约阅读时间需要 6 分钟。

当网站并发量大时,最先扛不住的可能是数据库了。所以需要多台服务器进行分担压力。这时会用到mysql主从同步,把mysql服务器数据分到多台服务器中。

29c38ced9a36822f5af6b56bef29005d.png

一、主从同步的优点

1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。

2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。

3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

二、mysql5.7的安装

三、主服务器配置

3.1 编译mysql配置文件,开启bin-log日志,并重启mysqld让配置文件生效vim /etc/my.cnf

#[mysqld]中增加代码

server-id=1

log_bin=mysql-bin

#不同步数据库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

#只仅同步数据库

binlog-do-db=zixuephp-db

#mysql复制模式,三种:SBR(基于sql语句复制),RBR(基于行的复制),MBR(混合模式复制)

binlog_format=MIXED #混合模式复制,可靠性更高systemctl restart mysqld

94c0a40e5a2e732d513ebd2ea81fca16.png

3.2从主服务器中创建从库用户mysql -uroot -p123456

grant replication slave on *.* to 'slave'@'%' identified by '123456';

flush  privileges;

3.3锁住主库表flush tables with read lock;

3.4查看主库状态

这里的File和Position会在从库中用到show master status \G

225a046e7a4e45b93b6d70765032ba34.png

3.5备份所有数据

备份主库中的所有数据到从库中,保持当前主库和从库数据一致#主库导出数据

mysqldump -uroot -p123456 >/root/back.sql#从库导入来自主库数据

source back.sql

3.6解锁主库表unlock tables;

四、从库配置

4.1配置从库my.cnf配置文件vim /etc/my.cnf

#[mysqld]中增加代码

server-id=2

log_bin=mysql-bin

binlog_format=MIXED

187dd611e632139b90fee42e8aaa612e.pngsystemctl restart mysqld

4.2从库设置slave复制主库数据

master_log_file文件尾主库中 show master status 中的File,master_log_post为主库中Postion的值change master to master_host='主mysql服务器ip',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=19416434;

4.3启动从库复制start slave;

4.4查看从库是否同步上主库

当Slave_IO_Running: Yes  Slave_SQL_Running: Yes 都为yes同步成功show slave status;

55d481fc1390eb99cfd402412f5cc812.png

4.5在主库中查看从库是否连接到show processlist \G

配置完成。

4.6其他调试语句#查看错误

show warnning;

#查看主库状态

show master status \G

#查看从库状态

show slave status \G

#重置主记录信息

reset master;

#重置从记录信息

reset slave;

#停止始从

stop slave;

#开始从

start slave;

#清空从所有连接、信息记录

reset slave all;

#删除从

change master to master_host=' ';

4.7删除主从同步#从库

stop slave;

reset slave all;

show slave status \G

#清除从库配置文件的配置

#主库

reset master;

#清除主库配置文件的配置

#清除mysql.user从库账号

show master status \G

转载地址:http://vtowx.baihongyu.com/

你可能感兴趣的文章
计算机网络原理笔记-停止等待协议
查看>>
洛谷P3763 [TJOI2017]DNA(后缀自动机)
查看>>
确定当前记录和下一条记录之间相差的天数
查看>>
NYOJ32:组合数(DFS入门)
查看>>
使用Callable和Future接口创建线程
查看>>
BZOJ 2568 比特集合
查看>>
sql语句返回主键SCOPE_IDENTITY()
查看>>
MongoDB培训
查看>>
机器学习开源项目精选TOP30
查看>>
python基础===对字符串进行左右中对齐
查看>>
一起谈.NET技术,ASP.NET缓存全解析6:数据库缓存依赖
查看>>
代码分析系列 内存执行过程
查看>>
iOS开发-邮件发送
查看>>
/etc/resolv.conf文件详解
查看>>
【转】VC的MFC中重绘函数的使用总结(整理)
查看>>
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
查看>>
System.gc()与Object.finalize()的区别
查看>>
Memcache存储大数据的问题
查看>>
HTML5区域范围文本框实例页面
查看>>
oracle查看经常使用的系统信息
查看>>