前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql主从复制配置

mysql主从复制配置

作者头像
dys
发布2018-04-02 15:55:04
1.1K0
发布2018-04-02 15:55:04
举报
文章被收录于专栏:性能与架构

配置思路

1. 修改master和slave的配置文件,使用二进制日志,指定serverid

目的是让各自都有了自己的唯一标示,并以二进制文件格式进行交流

2. master中创建授权用户,查看二进制日志文件名,及最新位置

让slave知道用哪个用户信息访问master,知道读取哪个日志文件,及从哪儿开始读

3. slave中使用被授权用户信息及日志文件信息,进行指向master

这时已经建立了和master的联系,明确了从哪儿读取日志文件

3. 执行启动slave的命令,开始主从复制,并查看复制状态信息

准备条件

停止对master数据库的操作

把master中的数据库全部导入到slave,使两边数据库完全一致

配置步骤

1. 修改配置文件 my.cnf

代码语言:javascript
复制
master:
[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=222       //[必须]服务器唯一ID,默认是1,一般取IP最后一段
slave:
[mysqld]
log-bin=mysql-bin   
server-id=226       

2. 重新启动两台服务器的mysql

3. master创建授权用户

登陆主服务器mysql命令行,创建一个用于从服务器复制的用户

mysql>GRANT REPLICATION SLAVE ON *.* to '用户名'@'%' identified by '密码';

"*.*"表示对所有库的所有操作,“%”表示所有客户端都可能连,也可用具体客户端IP代替,如192.168.145.226,加强安全

4. 查看master状态

登陆主服务器mysql命令行

代码语言:javascript
复制
mysql>show master status;
   +-------------------------+----------+
   | File                         | Position |
   +-------------------------+----------+
   | mysql-bin.000002  |     1308 |
   +-------------------------+----------+

mysql-bin.000004 是用于主从复制的文件名

1308 是日志文件内的最新位置

5. slave指向master

登陆从服务器mysql命令行,使用之前创建的用户和master的日志文件及其位置

代码语言:javascript
复制
mysql>change master to master_host='master ip',master_user='用户名',master_password='密码',
  master_log_file='mysql-bin.000002',master_log_pos=1308;   //注意不要断开,“1308”无单引号。

6. 启动slave

mysql>start slave;

7. 查看slave状态

mysql> show slave status\G;

结果中有两个重要数据项:

1) Slave_IO_Running: Yes

IO线程状态,必须YES

2) Slave_SQL_Running: Yes

SQL线程状态,必须YES

常见的问题是SQL线程没有正常工作 Slave_SQL_Running: No

通常是两边的数据库不是完全对应的,需要确保master上的库及到目前为止的最新记录都复制到slave上了

8. 测试

当IO线程和SQL线程都正常后,到master中随意测试下插入、修改、删除操作,同时到slave中检查

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档