第一台:192.168.0.160
第二台:192.168.0.170
主从配置,第一步:192.168.0.160 作为主数据库,192.168.0.170作为从数据库,配置如下:
========192.168.0.160配置=======
my.cnf配置文件
server-id=1
log-bin=mysql-bin-master #启用mysql二进制日志文件
binlog-do-db=HA #指定允许从同步的数据库
binlog-ignore-db=mysql #指定不允许从同步的数据库
mysql> grant replication slave on *.* to 'slave'@'192.168.0.170' identified by 'password';
mysql> show master status;
mysql> flush privileges
mysql> select * from mysql.user where user='slave';
==================================
==========192.168.0.170=============
my.cnf配置文件
server-id=2
mysql>stop slave;
mysql> change master to master_host='192.168.0.160',master_user='slave',master_password='password';
mysql>flush privileges;
mysql> start slave;
===================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
测试:
在192.168.0.160上创建数据库
mysql> create database test;
myql> show databases;
在192.168.0.170上查询数据库
mysql>show slave status; #io进程和sql进程都必须为yes,表示配置正确。
mysql> show databases;
查询成功,表示主从配置成功。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
===================================
主从配置,反向再进行部署一次即可。
第二步:192.168.0.170 作为主数据库,192.168.0.160作为从数据库,配置如下:
========192.168.0.170配置=======
my.cnf配置文件,添加
log-bin=mysql-bin-slave
binlog-do-db=HA
binlog-ignore-db=mysql
mysql> set sql_log_bin=off #首先关闭bin_log日志记录
mysql> grant replication slave on *.* to 'slave'@'192.168.0.160' identified by 'password'; #给从库赋权同步功能
mysql>select host,user from mysql.user where user='slave'; #查询从库同步账号的所有登陆主机信息
mysql> delete from mysql.user where user='slave' and host='ip address'; #删除多余的不需要的主机登陆信息,安全
mysql>show master status; #查看主库信息
mysql>set sql_log_bin=on
mysql>flush privileges; #刷新权限表信息
=============================================
========192.168.0.160配置=======
mysql> show slave status; #查询从库进程状态,若有no,则需要检查网络及io状态,关闭防火墙等。
mysql> set sql_log_bin=off;
msyql>stop slave;
msyql>change master to master_host='192.168.0.170',master_user='slave',master_password='password';
mysql> start slave; #如有报错,则需要使用reset slave 重置slave,然后重新设置
mysql> reset slave;
myql> change master to master_host='192.168.0.170',master_user='slave',master_password='jpassword';
mysql> start slave;
mysql> show slave statusG
mysql> flush priviliges;
mysql>set sql_log_bin=on;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
测试:
在192.168.0.170上创建数据库
mysql> create database testA;
myql>show slave status; #查询进程状态,必须都为yes,表示正常
在192.168.0.160上查询数据库验证
mysql> show database testA; #如果存在表示同步成功
myql>show slave status; #进程状态必须同为yes。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
至此,mysql主主同步配置全部完成。