Windows服务器下MySql数据库单向主从备份详细实现步骤分享

时间:2021-11-03 09:43:03

一、目的:将主服务器中的MySql数据库同步到从服务器中,使得对主服务器的操作可以即时更新到从服务器,避免主服务器因环境或者网络异常一时无法使用,达到备份效果。 

二、环境: 

主从服务器操作系统、数据库版本均相同,具体如下: 
操作系统:Windows 2003 Server R2 
MySql数据库版本:5.0.51b 
主服务器(用A代替)IP地址:192.168.4.100 
从服务器(用B代替)IP地址:192.168.4.101 

三、配置过程: 

1、在A创建远程访问备份账户。 
在A的MySql数据库中建立一个备份账户,命令如下: 

复制代码代码如下:


  mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO july@'192.168.4.101' IDENTIFIED BY '123456'; 
  mysql> Flush privileges; 
  mysql> Quit; 



语句解释: 

第一句中*.*表示所有数据库,如果要对某个数据库备份的话,假如数据库名称为some,则要换成some.*,其中 TO july@'192.168.4.101',july为远程访问用户名,IP地址为远程访问IP,BY '123456'中123456为远程访问密码; 
第二句语句执行后使得远程访问用户创建生效; 

执行说明: 

执行上述语句后,若要看远程访问用户是否已经创建成功,执行以下语句: 
  mysql> use mysql; 
  mysql> select host,user from user; 
用户列表中多了一条 
+------------------------------------+------------------+ 
|host |user        | 
+------------------------------------+------------------+ 
|192.168.4.101 |july | 
+------------------------------------+------------------+ 
至此,说明远程访问用户已经创建成功。 
2、关闭A的MySql服务并拷贝数据到B。 
关闭A的Mysql服务,将A中的数据拷贝到B中,使得A、B服务器初始数据完全相同,并且在同步备份之前禁止对服务器中进行数据库写入操作,以保证A、B服务器的初始数据完全相同。 
3、修改A中my.ini配置信息 
打开my.ini文件,在[mysqld]下添加以下内容(#内容为注释): 
  # server-id:A服务器的ID值 
  server-id=10 
  #log-bin:二进制变更日志 
  log-bin=c:\log/log-bin.log 
4、重启A服务器。 
5、关闭B服务器,对B的my.ini进行相关配置 
此处需要注意: 
由于设置了slave的配置信息,mysql在数据库data目录下生成master.info,所以如有要修改相关slave的配置要先删除该文件,否则修改的配置不能生效。 
打开B的my.ini配置文件,在[mysqld]中添加以下内容: 
  #B服务器ID值 
  server-id=11 
  #远程访问IP地址 
  master-host=192.168.4.100 
  #远程访问用户名 
  master-user=july 
  #远程访问用户密码 
  master-password=123456 
  #主服务器端口(默认为3306,此处要注意主服务器端口是否因为防火墙被禁止) 
  master-port=3306 
  #同步时间间隔为60秒 
  master-connect-retry=60 
  #设置要同步备份的数据库,此处数据库为some 
  replicate-do-db=some 
6、重启B服务器,到此已完成主从备份,如果有错误,可以通过mysql_error.log进行查看。 

说明:此文档为网络搜集资料自行试验整理,主要是方便自己后续查找以及有需要者参考,若有侵权之处,联系即删除。