MySQL 高可用:mysql读写分离

本文详细介绍了MySQL的主从复制和读写分离的实现过程,包括配置主从复制、设置权限、检查复制状态,以及通过Amoeba实现读写分离的步骤。在主从复制中,主服务器的bin-log日志被用于同步数据到从服务器,确保数据一致性。Amoeba作为中间件,允许读操作在主从之间负载均衡,减轻主库压力。
摘要由CSDN通过智能技术生成

Mysql读写分离是为了提高网站的访问速度,提高数据库的并发负载能力。

但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面

因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力 这样的方案来进行部署与实施的

 

先做主从复制,再做读写分离。

 

MySQL主从复制结构是基于mysql bin-log日志基础上,从库通过打开IO进程收到主库的bin-log日志增量信息,并保存到本地relay log,而后再通过打开MYSQL进程从relay log上获取的增量信息并翻译成SQL语句后写到从数据库。

 

先在主服务器和从服务器分别安装mysql,最简单的就是用yum安装:

yum -y install mysql mysql-server
service mysqld start 

可以给mysql的root用户改一个密码,默认为空。

mysqladmin -u root -p password 123456    #设置root密码

敲完上面命令会出现enter password: 这里应该直接敲回车,应为mysql默认密码为空。

然后登陆:mysql -u root –p123456

现在mysql的root 用户的密码已经改为123456了。


主数据库服务器:192.168.28.185,MySQL已经安装,并且无应用数据。
从数据库服务器:192.168.28.123,MySQL已经安装,并且无应用数据。

 

先配置主服务器

修改主数据库的配置文件,即/etc/my.cnf,开启二进制日志并修改server_id。然后重启mysqld。

 

 

修改完之后可以用这个命令查看一下是否修改  grep -E "server_id|log_bin" /etc/my.cnf  (这一步不用写,建议养成这个习惯)

 

MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。

然后登陆主数据库进行操作:

  1. mysql -uroot –p123456    
  2. 可以查看此时登录账号 select user();    (这一步不用写) 

  1. mysql>grant replication slave on *.* to 'zxq'@'192.168.28.123' identified by 'zxqzxq';  

(在master上为slave添加同步帐号并授权

说明: *.* 为所有的库和所有的表,可以自己定义某一个库里的某一个表。

 授权之后可以在slave用授权用户登录验证 mysql -u zxq -h 192.168.28.185 -pzxqzxq

4    mysql>flush privileges; (使授权命令生效)

检查刚才创建的用户  select user,host from mysql.user;(这步不用写,建议养成这个习惯)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值