MySQL热备手顺

来源:互联网 发布:牵丝戏mmd动作数据 编辑:程序博客网 时间:2024/06/05 10:12

配置、操作和维护A数据库B数据库MySQL热备份操作说明

5.5版本之后需要使用命令来进行热备份,修改配置文件的方式只适应5.5之前的版本

MySQL配置热备份

说明121.40.xxx.A       数据库(A

  120.195.C.D  [外网地址]   192.168.xx.B  [内网地址]    数据库B

 

环境MySQL Server 5.1   存储引擎 INNODB

系统Windows 2008 server

AB环境相同。

 

1) 主数据库A上创建一个备份账号允许此用户只能从某个指定的IP访问主数据库

脚本如下

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO backupB@'120.195.C.D'
IDENTIFIED BY '123xxx';

其中backupB  备份账号的用户名

  123xxx 备份账号的密码

  120.195.C.D IP地址(从数据库B地址),并且这个backupB用户只能通过此IP访问A数据库。

2) 停止A数据库cmd ----> net stop mysql

3) 使用mysqldump --opt -u root --password=adminxxx xxx_database> D:\backup\backup_ewxt_db\xxxx.sql备份数据库

4) 拷贝A备份的数据库到B上进行还原使用source命令来还原数据使得AB数据同步,并且在设置未结束之前,禁止对A,B数据进行写操作。

5) A的配置文件(my.ini)进行配置

 

server-id主服务器IDID不能重复(一从,一主二一主多从的server-id都不能互相重复)

log-bin二进制变更日值

sync_binlog: 日志与硬盘同步策略

log_slave_updates: 从服务器的更新是否写入二进制日志  

replicate-do-db: 同步的数据库

6) 重启A服务器,从现在起,它将把客户堆有关数据库的修改记载到二进制变更日志里去。

 

7) 关停B服务器,对B服务器进行配置,以便让它知道自己的镜像ID、到哪里去找主服务器以及如何去连接服务器。

 

server-id:从服务器BID值。注意不能和主服务器的ID值相同。
master-host:主服务器的IP地址。
master-user:从服务器连接主服务器的帐号。
master-password:从服务器连接主服务器的帐号密码。

master-port: 服务器连接主服务器的端口,默认端口可以不用设置。
replicate-do-db:告诉主服务器只对指定的数据库进行同步镜像。

binlog-ignore-db 不需要同步主服务器的数据库

 

8) 重启从服务器B。至此所有设置全部完成。更新A中的数据,B中也会立刻进行同步更新。

9) 由于设置了slave的配置信息,mysql在数据库data目录下生成master.info,所以如有要修改相关slave的配置要先删除该文件,否则修改的配置不能生效。

 

 

 

MySQL热备份常见错误处理

 

1. 一般的异常只需要跳过一步即可恢复

>slave stop;    #从服务停止

>SET GLOBAL sql_slave_skip_counter = 1; #跳过

>slave start;

 

2.断电导致主从不能同步时,或者其他情况导致主从不同步。

>show master status;在A主服务器操作,查询日志文件和读取位置。

>slave stop;

>change master to master_host='ip', master_user='username', master_password='password', master_log_file='mysql-bin.xxxx', master_log_pos=xxxx;

>slave start;

>show slave status;

 

 

3.主键冲突、表已存在等错误代码如1062,1032,1060等,可以在mysql主配置文件指定

略过此类异常并继续下条sql同步,这样也可以避免很多主从同步的异常中断

[mysqld]

slave-skip-errors = 1062,1032,1060  / ALL  (ALL 忽略所有错误)

 

关键语句与界面

是否成功,主要查看下面蓝色表示的列的内容是否一致

语句为:show slave status    查看从服务状态。




 


原创粉丝点击