Windows服务器下MySql数据库单向主从备份详细实现
网络编程 2021-07-05 15:27www.168986.cn编程入门
将主服务器中的MySql数据库同步到从服务器中,使得对主服务器的操作可以即时更新到从服务器,避免主服务器因环境或者网络异常一时无法使用,达到备份效果,这篇文章整理的确实挺详细的
一、目的将主服务器中的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-idA服务器的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进行查看。
说明此文档为网络搜集资料自行试验整理,主要是方便自己后续查找以及有需要者参考,若有侵权之处,联系即删除。
二、环境
主从服务器操作系统、数据库版本均相同,具体如下
操作系统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-idA服务器的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进行查看。
说明此文档为网络搜集资料自行试验整理,主要是方便自己后续查找以及有需要者参考,若有侵权之处,联系即删除。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南