mysql数据丢失_怕系统数据丢失?mysql主备库配置

1.场景描述

废话不多说了,简单记录下mysql主从库配置,实现读写分离,还可以设置延迟同步,防止误操作,起到备库作用。。

2.解决方案

简单记录下如何快速对现有mysql库实现读写分离,至于可能遇到的数据不一致等问题,后续再解释,本次只介绍如何快速对现有mysql做主从库配置/读写分离。

2.1 原理

MySQL主从库或者读写分离配置,其实依靠的mysql自带二进制日志。

简单说就是在主库上做的动作(增删改)会全部记录在主库中的日志中,从库通过查询主库(主库要给权限)日志,然后照着主库日志再从库上操作一遍,这样就实现了主从复制。

说明:

两台服务器,每个上面一个数据库,主库ip:192.168.10.14,从库ip:192.168.10.16

2.2 主库设置(192.168.10.14):

(1)root下进入mysql用户

su - mysql

(2) 修改配置文件my.cnf ,并给从库设置日志查询权限。

vi /etc/my.cnf  server_id =14log-bin=mysql-binbinlog_do_db=test :wq#软件老王,重启mysqlservice mysqld restart创建用户并赋权:GRANT replication slave ON *.* TO 'slave'@'%' identified by 'laowang';

(3)查看主库信息,后续从库中要配置

通过navicat或者直接连接myql查看下信息(/usr/local/mysql/bin/mysql -uroot -p mysql),后续从库中要用这个信息

show master status;

85d1ea7d0289bcbfb67f614ca7c4a8fa.png

2.3 从库设置(192.168.10.16):

(1)修改/etc/my.cnf

vi /etc/my.cnf  server_id =16log-bin=mysql-binbinlog_do_db=test :wq#软件老王,重启mysqlservice mysqld restart

(2)在secureCRT下操作,设置从库配置。

mysql>stop slave;mysql>change master to master_host='192.168.10.14',master_user='slave',master_password='laowang',master_log_file='mysql-bin.000002',master_log_pos=1236;mysql>start slave;mysql> show slave status;    

(3)还可以设置延迟同步,以免误操作主从库数据都没有了,如下:延迟3分钟30分钟同步。

CHANGE MASTER TO MASTER_DELAY = 1800;单位为秒

2.4 验证

(1)分别在主库(14)和从库(16)的test数据库下创建测试表

CREATE TABLE `dfdaf` (  `dfafd` varchar(100) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)对主库14进行操作,然后查询从库16,看是否同步过来了。

74d7e2efccb407178702f9c1330eb2a9.png

I’m 「软件老王」,喜欢我的文章欢迎转发及关注,人人为我,我为人人,IT相关经验及人生分享与交流!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值