您的位置:首页 > 博客中心 > 数据库 >

mysql主从服务器配置

时间:2022-03-13 22:35

假如一个业务场景,测试后,读写比列为1:20,根据读写比例,合理设置优化方案。

读写比列:

写数据/读数据比例,    insert/update/delete    /  select


从“读写分离”概念推导实现基本要素:

一般来说,读服务器就是指写服务器的数据镜像。


从服务器端看:要有N台从服务器和主服务器保持数据一致。

从客户端看:比如有一条insert语句和一条select语句,

则要区分读/写语句,并且分别请求从/主服务器。


服务器端读写分离的具体技术

1:数据库集群技术

集群由3个概念

(1)sql节点    sql node

(2)数据节点    data node

(3)管理节点    ndb managerment


sql语句发送“1sql节点”,“1sql”节点发往“2数据节点”,再由3管理节点完成数据节点之间的同步。


集群技术相对复杂,至少有3种节点,4台服务器才能完成。


2,数据库复制

写/master(0)      同步        读/slave(1)


3,数据库复制replication的实现原理

(1)主服务器凡运行语句,都产生一个二进制日志 binlog

(2)从服务器不断读取主服务器的binlog

(3)从服务器读取到的binlog,转换为自身可执行的relaylog

(4)执行relaylog


4,实现步骤:

(1)首先确保主服务器打开二进制日志功能

这样,主服务器一旦有数据变化,立即产生二进制日志

(2)从服务器也需要开启二进制日志和relay日志功能

这样可以从主服务器读取binlog,并产生relaylog

(3)在主服务器建立一个从服务器的账号,并授予最高权限

(4)指定从服务器对应的主服务器,开启从服务器


具体实施

假如一台虚拟机xp,和一台linux

(1)在虚拟机xp下安装mysql作为从服务器

(2)在linux下编译mysql,作为主服务器

(3)保证xp与linux的3306端口互通

(4)配置主服务器,打开binlog

    mysql>show master status;

    Empty set (0.00 sec)


    #开启二进制日志

    log-bin=mysql-bin

    #给服务器起一个唯一的id

    serve-id=1

    #指定日志格式

    binlog-format=mixd/row/statement


重启mysql

    mysql>show master status;

会多两个文件:mysql-bin.000001和mysql-bin.index

比如官方的mysql_proxy,还有国产的中间件amoeba

mysql主从服务器配置,布布扣,bubuko.com

热门排行

今日推荐

热门手游