MySQL互为主从数据库配置方案

来源:互联网 发布:app牛机器人软件 编辑:程序博客网 时间:2024/06/08 04:59

MySQL互为主从数据库配置方案

利用MySQL自带的主从复制功能实现互为主从的热备份功能。

1、准备两台搭建完成的mysql,创建结构相同的数据库,服务器A,IP地址为192.168.2.171;服务器BIP地址为192.168.2.112

2、修改两台服务器中MySQLmy.ini文件,MySQL5.6以上版本的my.ini文件在C:\ProgramData\MySQL\MySQL Server 5.6目录下,默认是隐藏目录,在文件夹选项中修改显示选项。

2.1、服务器A

[mysqld]

# for repl

server-id = 1

binlog_checksum=none #如果两个mysql的版本不一样则加入此行

log-bin = mysql-bin #二进制日期文件

2.2、服务器B:

[mysqld]  

# for repl  

server-id = 2  

log-bin = mysql-bin

3、B指定A为主库

3.1、在A创建用户并清除日志

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO slave@'%' IDENTIFIED BY '123456';

flush privileges;

3.2、清除残留日志

RESET MASTER;

3.3、查看当前状态,记住fileposition列的值,下面要用到

show master status;

 

3.4、在B中停止slave

Stop slave;

3.5B链接主库A,指定主库的用户名、密码、log_file的文件名和log_pos开始同步的位置,要与3.3中查询出来的保持一致

CHANGE MASTER TO master_host = '192.168.2.171',  

 master_user = 'slave,  

 master_password = '123456',  

 master_log_file = 'mysql-bin.000002',  

 master_log_pos = 5876;  

3.6、开启slave

Start slave;

3.7、查看是否连接成功

Show slave status;

 

slave_lo_running:yes

slave_sql_running:yes

这两个参数都是yes则成功。

 

4、A指定B为主库

4.1、在B创建用户并清除日志

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO slave@'%' IDENTIFIED BY '123456';

flush privileges;

4.2、清除残留日志

RESET MASTER;

4.3、查看当前状态,同样记住fileposition列的值

show master status;

 

4.4、在A中停止slave

Stop slave;

4.5A链接主库B,指定主库的用户名、密码、log_file的文件名和log_pos开始同步的位置,要与4.3中查询出来的保持一致

CHANGE MASTER TO master_host = '192.168.2.112',  

 master_user = 'slave,  

 master_password = '123456',  

 master_log_file = 'mysql-bin.000001',  

 master_log_pos = 378;  

4.6、开启slave

Start slave;

4.7、查看是否连接成功

Show slave status;

 

slave_lo_running:yes

slave_sql_running:yes

这两个参数都是yes则成功。

 

5、测试

修改服务器A中的mysql中的修改数据,服务器B中的mysql也会相应的更新,同样在B中修改数据,A中也会更新,成功。


6、问题处理:

查询从库状态slave_lo_running显示connetcting,一般是网络不通(主库的防火墙等),密码不对,pos不对

详情查看:http://blog.csdn.net/i_bruce/article/details/17055135


原创粉丝点击