189 8069 5689

mysql分离怎么用 mysql如何分离数据库

mysql主从库与读写分离

一.mysql主从库与读写分离的实现理论

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站建设、外贸网站建设、长治网络推广、微信小程序定制开发、长治网络营销、长治企业策划、长治品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供长治建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

二.mysql配置

1.准备两台服务器安装mysql(也可以在一台中装两个mysql修改端口号避免冲突)

2.分别连接mysql

3.配置mysql

1.配置主库 monster

打开binary log

2.配置从库

主库授权

账号repl后面的是从库的ip地址 mysql是账号repl的密码

刷新

后面master_log_pos=0 表示从零开始同步 master_log_file 是上面SHOW MASTER STATUS 下面的file文件

在从库中开启主从跟踪

查看从库状态

从库中终止主从同步 stop slave

查看 my.cnf 文件 把 server -id=1 的字段删除 保留server-id=2 修改后保存 重启mysql 重新连接 开启主从同步start slave

查看从库状态 发现没有错误 到此主从同步配置已经完成.

mysql读写分离原理是什么?要如何操作?

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。\x0d\x0a\x0d\x0a而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。\x0d\x0a当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单 表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。\x0d\x0a而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。

mysql-proxy读写分离

转发到后端从库 读取。实现 主库负责--写入,从库负责--读取。

注意:Proxy其实不是一台机器,只是一个连接方式,读取数据的时候自动从Salve上取,写数据则自动向Master中写。

实验前先做好 主从架构

主---192.168.1.252 (mysql-5.7 ,三台版本一致)

从---192.168.1.101

proxy---192.168.1.102

vim /etc/mysql-proxy.cnf

内容如下:

注意:(在服务器上配置文件要把注释都去掉,不然会报错。)

保存退出。赋予660权限,不然会报错。

3.##修改读写配置文件

关闭可以用killall -9 mysql-proxy 或者kill -9 ID

在主执行:(事先做好主从架构,从库会自动吧这个操作更新过去,或者在手动去从库也执行一遍)

使用客户端去链接mysql-proxy(1.102)(开2个以上客户端链接)

接下来,测试数据。(主从都开启时,先添加一条数据)

此时如果停掉slave,在添加数据

stop slave;

发现并没有刚才添加的id为2的这条数据。

因为此时slave已经停掉了,没有负责给我们提供查询操作的服务了,所以查不到了。刚才可以写入,也是意味着 写入操作是有 master来完成的。

这时恢复slave,再查询

start slave;

这时2已经有了,恢复了slave后,先主从通信同步了刚才的数据,再继续提供查询操作。

到此,读写分离完成。

参考:

mysql前后端分离添加一条数据

如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M

举例:bulk_insert_buffer_size=100M;

2、第二种mysql插入提速方法:

改写所有 insert into 语句为 insert delayed into

这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。

这样mysql前后端分离就可以添加一条或者多条数据了


网站名称:mysql分离怎么用 mysql如何分离数据库
转载注明:http://jkwzsj.com/article/dodphjo.html

其他资讯