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互为主从的主要内容,如果未能解决你的问题,请参考以下文章