MySql主从配置
2020-03-30 作者  Winter    PHP/MYSQL    阅读量901    评论量0

主服务器:ip1; 

从服务器:ip2; 

待同步的数据库:test; 

1)首先是主服务器

在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICAITON SLAVE权限。

mysql>grant replication slave on *.* to 'root'@'192.168.197.129' identified by '111';
mysql>flush privileges;

修改主数据的配置文件(/etc/my.cnf), 或window下my.ini

关于只同步其中的几个数据的情况,请添加多行binlog-do-db = xxx,即
[mysqld]  
server-id = 1 
log-bin=mysql-bin
binlog-do-db = info_2 ##需要同步的数据库
binlog-do-db = info_3 ##需要同步的数据库
binlog-ignore-db=mysql
我测试了下如果是这样写
[mysqld] 
server-id = 1 
log-bin=mysql-bin
binlog-do-db = info_2,info_3
binlog-ignore-db=mysql
虽然最后配置完毕提示的成功,但是运行的时候实际是不能同步的,各位同学需要注意下。


修改完配置文件,重启mysql服务.

mysql>show master status;

图片.png

2)从数据库服务器

修改mysql配置文件 (ubuntu下 /etc/mysql/my.cnf)

[mysqld]  
server-id=2
log-bin=mysql-bin
replicate-do-db=info_2    #需要同步的数据库
replicate-do-db=info_3    #需要同步的数据库
replicate-ignore-db=mysql

重启mysql
然后进入mysql

mysql>stop slave;

mysql>change master to master_host='ip1',master_user='root',master_password='111',master_log_file='mysql-bin.000001', master_log_pos=1438;

mysql>start slave;


注意,这里的master_log_filemaster_log_pos由上面主服务器查出的状态值中确定。前面在主数据操作show master status得到的结果


mysql>show slave status\G;

一般如下两条都是Yes,表示成功,如果发现数据没有同步,请检查之前的数据是否一致。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

正常情况下,到这里就配置完毕了

3)开始测试

主服务器下:

添加主库info_2,users表数据

insert into users values(3,'test3','13400000001','2019-09-02 14:12:00');

图片.png

从库表users,也会添加一条新纪录。

上一篇:Excel怎样给数据批量添加单引号与逗号
下一篇:Shell脚本kill掉mysql锁表进程

0条评论
热门文章
热评文章
精品课程

¥小额赞助

联系我们

邮箱:chennengit@163.com

手机:13455295173(微信)

QQ:376926761