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

linux下mysql主从复制

作者头像
93年的老男孩
发布2019-12-18 18:00:55
1.3K0
发布2019-12-18 18:00:55
举报

mysql主从复制主要作用是为了降低主服务器mysql的读压力。

文章背景:

1、在本地搭建两个linux虚拟机,其主服务器ip为192.168.0.1,从服务器ip为192.168.0.2。

2、主服务器只搭建了mysql,从服务器搭建了lnmp测试环境。

注明:测试主从mysql服务器都可以正常运行连接。

进行主从复制需要以下几个步骤:

1、开放主从服务器的3306端口。

2、主服务器mysql配置文件my.cnf中[mysqld]后配置

basedir = /usr/local/lnmp/mysql-5.7

datadir = /usr/local/lnmp/mysql-5.7/data

port = 3306

server_id = 1

socket = /usr/local/lnmp/mysql-5.7/mysql.sock

log-bin = mysql-bin

必须配置server_id与log-bin,主从服务器的server_id必须设置且唯一。log-bin为开启二进制日志。

配置后重启。

3、主服务创建用户。

可以通过SQLlog等工具创建用户。

用户名为:test (一会需要用到),主机为%或者192.168.0.%(前者为任意ip可以连接,后者为限制192.168.0.*号段连接),密码为,test(一会需要用到),并添加全局权限REPLICATION SLAVE (小写为replication slave);

4、从主服务导出测试数据库test,然后在从数据库中导入测试数据库test。

5、数据库连接之后执行sql:show master status;获取FILE为mysql-bin.000004(一会需要用到),position为1230(一会需要用到);

6、从服务器mysql配置文件my.cnf中[mysqld]后配置

basedir = /usr/local/lnmp/mysql-5.7

datadir = /usr/local/lnmp/mysql-5.7/data

port = 3306

server_id = 2

socket = /usr/local/lnmp/mysql-5.7/mysql.sock

log-bin = mysql-bin

#replicate-do-db=test #指定数据库被复制

#replicate-ignore-db=test #指定数据库不被复制

必须配置server_id,主从服务器的server_id必须设置且唯一。log-bin为开启二进制日志。

7、重启从服务器mysql,使用命令mysql -h127.0.0.1 -uroot -p后输入密码连接mysql。

执行sql: stop slave;(如果之前配置过主从则关闭之前,否则暴露一个警告可以忽略)

执行sql:change master to master_host='192.168.0.1'(主服务器ip), master_user='test'(刚刚设置的账号),master_password='test'(刚刚设置的密码),master_log_file='mysql-bin.000004'(show master status;获取的FILE),master_log_pos=2022(show master status;获取的position);(本sql为设置主从配置)

执行sql:start slave;(开启主从配置)

8、查看主从复制是否正常。

mysql命令行中执行:show slave status \G

查看Slave_IO_Running与Slave_SQL_Running,当两个参数的状态都是yes如下:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

则证明mysql主从复制状态为正常运行的状态。

主从配置完成,现在在主服务中进行添加,修改,删除操作,从服务器中也会做相应的操作。

警告:主从复制的增加,修改,删除操作只能在主服务进行,如果再从服务器进行了添加,修改,删除操作,则主从配置失效。

注明:笔者在it行业的工作年限不长,如果有什么不对的,希望大家指出。本文小括号()内为注释,辅助说明。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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