数据库同步设置
前提:MYSQL数据库正常启动
假设两台主机地址分别为:
ServA:172.16.22.115
ServB:172.16.22.117
1 配置同步账号
在ServA上增加一个ServB可以登录的帐号:
Mysql>GRANT all privileges ON *.* TO mysql@'172.16.22.117' IDENTIFIED BY '123456';
在ServB上增加一个ServA可以登录的帐号:
Mysql>GRANT all privileges ON *.* TO mysql@'172.16.22.115' IDENTIFIED BY '123456';
2 配置数据库参数
1、 以root用户登录ServA,修改ServA的my.cnf文件
vi /etc/my.cnf
在[mysqld]的配置项中增加如下配置:(这块需要配置两个库的数据同步)
log-bin=mysql-bin
server-id=2
binlog-do-db=hw-msmp
binlog-do-db=hw-msmp-list
replicate-do-db=hw-msmp
replicate-do-db=hw-msmp-list
3.告诉对方自己bin-log的信息
主A(172.16.22.115):
mysql> show master status;
+------------------+----------+----------------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+----------------------+------------------+-------------------+
| mysql-bin.000002 | 154 | hw-msmp,hw-msmp-list | | |
+------------------+----------+----------------------+------------------+-------------------+
1 row in set (0.00 sec)
主B(172.16.22.117):
mysql>stop slave;
mysql>change master to master_host='172.16.22.115',master_user='mysql',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=154;
小提示:这里的 master_log_file对应的file,也就是这里的mysql-bin-slave.000001,这里的master_log_pos对应的Position,也就是这里的275
4.查看slave状态
mysql>start slave;
mysql>show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
为启动成功!
5.如果是拷贝虚拟机的情况可能出现
Slave_IO_Running: No
因为两台机server-uuid一样,修改为不一样的server-uuid,重启数据库即可
修改vi /var/lib/mysql/auto.cnf