欢迎您访问我的笔记本站旨在于记录一些平时工作中遇到的一些问题和解决方法,方便查阅,部分内容来源于网络,如有侵权请联系我删除
  • 微信微信
您现在的位置是:首页 > Mysql

Mysql主从配置-[原创]

日期:2019-04-17 10:54:10 作者:tanyi 来源:我的笔记 浏览:978 次
虽然一般项目单台mysql服务器能够满足日常使用,但是针对大型用户较多的项目,一台mysql服务器还是难以支撑,这里简单总结一下自己设置mysql的主从配置

一般来说mysql主从配置后,主库只负责添加,修改,删除操作,其他纯查询数据操作通过从库。

这里我将我自己阿里的一个mysql作为主库(centos),本地的mysql作为从库(windows)。

主库在mysql配置文件末尾添加,位置(我的在etc/my.cnf)

#主为1,如果需要增加Slave库则,此id往后顺延;
server-id = 1
#要同步的数据库,(也可以不设置,不设置就同步所有库)
binlog-do-db=community_ms
#要生成的二进制日记文件名称
log-bin=mysql-bin

从库配置文件末尾添加

#主为1,如果需要增加Slave库则,此id往后顺延;
server-id = 10
#要同步的数据库(也可以不设置,不设置就同步所有库)
replicate-do-db=community_ms
#要生成的二进制日记文件名称
log-bin=mysql-bin

在主库创建连接用户

//授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
create user 'demo'@'127.0.0.1' identified by '123456';
GRANT REPLICATION SLAVE,super,reload,file ON *.* TO 'demo'@'127.0.0.1';
或
grant replication slave,super,reload,file on *.* to demo@127.0.0.1 identified by '123456';

我这里直接用root用户测试

在主库运行语句,并记录File和Position的值,后续会使用:

show master status;

结果:

image.png

在从库运行如下语句:

change master to master_host='主库地址',
master_port=3306,
master_user='用户名',
master_password='密码',
master_log_file='mysql-bin.000002',
master_log_pos=154;

继续在从库执行如下语句:

start slave;

最后查看是否配置成功,执行:

show slave status;

结果:

image.png

主要看这两个参数是否为yes,如果不是,可能是slave没有启动或mysql配置有误。

配置成功后可以在主库的一个表添加或删除一条数据,然后在从库刷新看数据是否同步

提交评论
评论列表