mysql数据库备份-主从分离

mysql数据库备份-主从分离

原理:主从分离 【一般都是在同一机房中进行】

实现步骤:
1、确保主服务器打开二进制日志功能;
这样,主服务器一旦有数据变化,立即产生二进制日志;

2、从服务器也需要开启二进制日志和relay日志功能。
这样可以从主服务器读取binlog并产生relaylog

3、在主服务器建立一个从服务器账号,并授予读binlog的权限。

4、指定从服务对应的主服务器,开启从服务器。

主:
binlog-format=row/statement

statement:2进制记录执行语句,如update
row: 2进制记录的是磁盘变化;
mixed: 混合的,由系统根据语句,来决定。

update table set aa=xx where id=3 ;//语句长而磁盘变化少,建议row
update table set aa=xx;//语句短,但是影响上万行,磁盘变化大,易用
statement。

若想让系统自动帮我们识别,则建议用mixed,混合的,由系统根据语句来决定。

主服务器
mysql配置文件如下;

#给服务器起一个独特的id
server-id=201

#声明2进制日志的文件为mysql-bin.xxxx
log-bin=mysql-bin

#二进制日志的格式 mixed/row/statement
binlog-format=mixed

 

查看是否能充当主服务器:
show master status;

=========================================
从服务器mysql配置如下:
#给服务器起一个独特的id
server-id=202

#声明2进制日志的文件为mysql-bin.xxxx
log-bin=mysql-bin
#建议从服务器开启二进制日志,因为从服务器主要就是起到备份的功能。
#二进制可以看成最后的数据恢复方案。

#二进制日志的格式
relay-log=mysql-relay

 

查看是否能充当从服务器:
show slave status;

主服务器操作::

mysql>use mysql;

mysql>select host,user,password from user;

核心操作:
第一步:
mysql>use mysql;

第二步:
mysql>grant replication client,replication slave on *.* to
repl@’192.168.1.%’ identified by ‘repl’;

第三步:
mysql>flush privileges;

从服务器操作::

核心操作:

第一步:
mysql>use mysql;

第二步:
mysql>

change master to
master_host=’192.168.1.107′,
master_user=’repl’,
master_password=’repl’,
master_log_file=’mysql-bin.000001′,
master_log_pos=107;

第三步:
我们执行后看可打通呢?
mysql>show slave status;

第四步 启动从服务器功能:
mysql>start slave;

 

徐多蔚 xuduowei 徐老师 合肥php老师


关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。