X
活动推荐

阿里云高性能云主机2折293元/年

企业级性能云服务器限时2折起
新用户5折爆款服务器会场
查看详情 293元/年
阅读模式:

mysql5.7主从同步配置

查看:2801  回复:0  类型:  来源:php自学网  标签 mysql linux centos 运维 网站架构

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

mysql主从同步.png

一、主从同步的优点

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

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

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

二、mysql5.7的安装

http://zixuephp.net/article-261.html

三、主服务器配置

    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

mysql bin log.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

show master status.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

slave configure.png

systemctl 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;

show slave status.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
分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
网站局部小图片优化-base64编码图片   阅读:8050移动端js触摸touch详解(附带案例源码)   阅读:14033一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:114207php打印九九乘法表   阅读:7763mysql共享锁和排他锁详解   阅读:5995mysql5.7主从同步中binlog同步模式详解   阅读:4369浅谈javascript的函数节流   阅读:3864人性漫画:打工与创业的残酷区别   阅读:3882移动端js触摸touch详解(附带案例源码)   阅读:14033mysql数据库性能的基本优化   阅读:3858centos 7 修改系统屏幕分辨率   阅读:37127“米粉节”背后的故事——小米网抢购系统开发实践   阅读:3425phpexcel 超简单从数据库一键导出数据到excel教程   阅读:6266php 获取当前前后年、月、星期、日、时分秒的时间   阅读:5387shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:7353nginx安装redis模块   阅读:3095TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:2148面试都会问你为什么你从上一家公司离职的真实意思   阅读:9438知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:5176简单的DOS攻击之死亡之ping详解   阅读:39662phpexcel 超简单从数据库一键导出数据到excel教程   阅读:6266一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:114207php删除一个文件夹内的所有文件夹和文件   阅读:4026centos 7 开启网络   阅读:5174面试的时候回去等通知,等电话的真实意思   阅读:19961javascript获取两个日期间的所有日期   阅读:5167crontab+shell脚本实现定时备份mysql数据库   阅读:6264phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:10756php打印三角形   阅读:6407php+redis实现消息队列   阅读:11167crontab+shell脚本实现定时备份mysql数据库   阅读:6264php冒泡排序法   阅读:11734centos 7 忘记root密码   阅读:3978企业让你去面试,可能不是真的招人   阅读:5029centos 7 开启网络   阅读:5174mysql数据一键导出到csv文件   阅读:4629知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:5176nginx编译安装后对nginx进行平滑升级   阅读:4910centos7.3安装mongodb3.6   阅读:5963Nginx 配置文件详解   阅读:3888linux php7安装yaf扩展   阅读:6792PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:11542最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:27633mysql数据库性能的基本优化   阅读:3858javascript获取两个日期间的所有日期   阅读:5167最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:11658十张GIF让你弄懂递归等概念   阅读:5073nginx安装redis模块   阅读:3095知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:5176纯干货,程序员面试的超实用技巧   阅读:3501