MySQL主从备份

来源:互联网 发布:国密算法 公开 编辑:程序博客网 时间:2024/05/17 03:35

测试环境:

 操作系统数据库版本IP地址端口号主数据库Windows 7MySQL 5.1.69192.168.0.1194000从数据库Windows 7MySQL 5.1.69192.168.0.1183000


配置主数据库:

1):修改主数据库配置文件my.ini,在[mysqld]区间下添加以下内容

server-id = 1
binlog-do-db=mydatabase1
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=test

注释:1:以上键值对已经存在则修改,没有则添加

2:server-id的值必须大于零,范围介于1到2^32-1

3:binlog-do-db表示需要同步的数据库,有多个数据库可以写多行,或者使用逗号分隔

         4:binlog-ignore-db表示需要忽略的数据库,有多个可以写多行,或者使用逗号分隔

2):添加一个可以远程访问的账户用于从数据库登陆

eg:grant replication slave on *.* to 'Admin'@'192.168.0.118' identified by 'sa';

3):重启MySQL服务

4):使用命令行登陆MySQL,使用show master status\G;查看日志情况



从数据库配置:

1):修改主数据库配置文件my.ini,在[mysqld]区间下添加以下内容

server-id=2
master-host=192.168.0.119
master-user= Admin
master-password= sa
master-port=4000
master-connect-retry=60
replicate-do-db=mydatabase1
replicate-ignore-db=mysql,information_schema,test

slave-skip-errors=all

注释:a)这里server-id的值不能和主数据库一样

b)master-host:主数据库主机地址

c)master-user:主数据库用户名

d)master-password:主数据库密码

e)master-port:主数据库端口号

f)master-connect-retry:从数据库与主数据库断开连接后,重新连接时间差(秒)

g)replicate-do-db:需要从主数据库同步的数据库

h)replicate-ignore-db:忽略的数据库

j)slave-skip-errors=all跳过主数据库错误

2):重启MySQL服务

3):命令行登陆MySQL,使用show slave status\G;查看slave状态


如果Slave_IO_Running、Slave_SQL_Running状态都为Yes则表明设置成功。

这时候查看数据库可以看到数据库已经自动同步了。


验证方法:

修改主数据库,从数据库自动跟着改变


如果配置完从数据库之后,通过my.ini文件里master配置,重启服务之后发现无效,可以到数据库data文件夹找到

mater.info文件删除,这是一个缓存文件


      网上很多博客做主从同步时候,在从数据库配置完重启MySQL服务之后,都需要手动打开slave进程(start slave),

我试下来发现不需要,也许是MySQL数据库版本的差异,我理解的是在重启mysql服务的时候,会检测配置文件,如果配置

了slave服务,则会自动启动slave进程



0 0
原创粉丝点击