Mysql互为主从

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql互为主从相关的知识,希望对你有一定的参考价值。

mysql互为主从
环境:
系统环境:centos6.5_x64
Mysql-A:172.18.49.10
Mysql-B:172.18.49.2
Mysql安装已经完成。
两台mysql上时间同步:

ntpdate pool.ntp.org

在A上操作:

vi /etc/my.cnf

添加:
log-bin=mysql-bin //开启二进制日志
server-id=1 //mysql的id
relay_log=relaylogs

service mysqld restart

登录mysql,新建同步用户:

mysql -uroot –p

mysql> grant all on . to ‘tongbu‘@‘172.18.49.%‘ identified by ‘123456‘;
mysql> flush privileges;
初始化bin-log日志
mysql> reset master;
查看最新bin-log日志:
mysql> show master status;

图中的mysql-bin.000001就是最新的日志文件名称,Position是bin日志结束的位置,这两个值会在主机B中使用。
主机A配置完毕,切记为了保持主从的一致性,先不要操作主机A mysql数据库,待主机B配置完成且设置同步后才可以进行操作。
主机B配置:
修改配置文件:

vi /etc/my.cnf

log-bin=mysql-bin
server-id=2
relay_log=relaylogs

service mysqld restart

增加同步用户:

mysql -uroot –p

mysql> grant all on . to ‘tongbu‘@‘172.18.49.%‘ identified by ‘123456‘;
mysql> flush privileges;
初始化bin-log日志:
mysql> reset master;
查看bin-log日志:
mysql> show master status;

主机B配置完成,现在进行同步配置
同步配置:
在主机A上操作:
mysql> change master to master_host=‘172.18.49.2‘,master_user=‘tongbu‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;
这里的master_host是指主机B的ip地址,master_uesr是执行同步操作的用户名,master_password是执行同步的用户密码,master_log_file是主机B的bin-log日志,master_log_pos是从bin-log日志开始同步的位置。
开启同步:
mysql> start slave;
查看同步设置是否成功:

在主机B 上操作:
mysql> change master to master_host=‘172.18.49.10‘,master_user=‘tongbu‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;
mysql> start slave;
mysql> show slave statusG;

则操作完成。
最后查看字符集!!!!!
show?variables?like‘%char%‘;

同步测试:
在A主机或者B主机上做都可以。
在A上新建一个数据库
mysql> create database test2;
在B上可以查看到,之后再B上给数据库中插入信息,则在A上也可以查看的到:
mysql> create table users(id int(16),name char(16),sex varchar(64));
成功!!!

以上是关于Mysql互为主从的主要内容,如果未能解决你的问题,请参考以下文章

KeepAlived+MySQL互为主从

MySQL互为主从+Keepalived高可用数据库集群

mysql 互为主从

KeepAlived+MySQL互为主从

Mysql互为主从+keepalived实现高可用性

mysql互为主从(双主)配置