MySQL优化,一主多从配置(二)

续上篇,上篇讲到的是如何在数据库结构上设置做优化。本篇是从硬件+配置的角度去优化,第三篇主要是如何实现读写分离。

前提

准备三台服务器或者多台服务器。

一、工作原理

主服务器负责写,从服务器负责读。
工作原理如下图:
在这里插入图片描述
原理:主服务器的操作动作生成binlog日志,从服务器通过读取binlog解析relaylog,从服务器再执行replaylog,生产数据在从服务上。

二、linux系统上配置

#配置主mysql
#配置主服务器,找到mysqld下开始配置。
vim /etc/my.cnf

#给服务一个唯一的id(一般是用ip的最后一段数字做id)
server-id = 201
#开启二进制日志
log-bin=mysql-bin
#指定日志格式(三种格式)
binlog-format=mixed
#保存
:wq

#重启服务器
./bin/mysqld_safe --user=mysql &

#登录mysql
./bin/mysql -uroot -p 
输入密码

#设置账户权限
grant replication slave,replication client no *.* to ‘用户名’ @’192.168.1.%’  identified by ‘密码’;
#将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里.
flush privileges;

#查看master状态
show master status\G;

#配置从mysql
#找到mysqld下开始配置。
vim /etc/my.cnf

#给服务一个唯一的id(一般是用ip的最后一段数字做id)
server-id = 202

#开启二进制日志
relay-log=mysql-relay

#重启服务器
./bin/mysqld_safe --user=mysql &
#登录mysql
./bin/mysql -uroot -p 
输入密码

#设置从服务器
change master to master_host=’主服务ip’,master_user=’用户名’,master_password=’密码’,master_log_file =’mysql-bin.000001’,master_log_pos =619;(从哪个字节开始写)

#查看slave的状态
show slave status\G

显示的结果
在这里插入图片描述

#启动复制线
start slave

若有疑问,可以查看一下
详细教程文档

三、常用语句

show master status;#查看master的状态,尤其是当前的日志及位置
show slave status;#查看slave的状态;
reset slave;#重置slave状态
start slave;#启动slave状态(开始监听master的变化)
stop slave;#暂停slave状态;

#日志格式
statement :#语句格式
row:#行格式
mixed:#前面两种的混合格式;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值