MySQL分割数据
引言一般来说讲,提到数据拆分,可以归结为两个层面:一是垂直拆分,二是水平拆分。这里我们来讨论下垂直拆分。垂直拆分是以数据库、表、列等为单位进行拆分的方法。正文MySQL里垂直拆分可以细分为:垂直拆库(...
2024.11.151.三台服务器能相通,相互能ping的通(防火墙之类的最好都关闭)
2.三台服务器都安装好MySQL,并启动成功。
二、主从原理1.主节点开启binlog日志(二进制存储)
2.从节点slave,在一定时间内去嗅探主节点的binlog日志,如果发现有改变,则开启一个I/O线程去请求数据
3.主节点收到请求后会开启一个dump线程去发送数据,从节点收到数据会存储在relay-log(就当成中转站),同时从节点会开启一个sql线程去解析relay-log为sql执行。
三、搭建步骤a.主库搭建1.配置文件
#找到mysql配置文件#指定服务器唯一idserver-id=1 #设置binlog日志,设置了开启了binlog,不需要其他配置log-bin=/var/lib/mysql/mysql-bin#每次执行写入就与硬盘同步sync-binlog=1#保留3天的二进制日志expire-logs-days=3#指定不备份的数据库binlog-ignore-db=information_schemabinlog-ignore-db=performation_schemabinlog-ignore-db=sys2.创建复制账号
mysql>CREATE USER ‘salvesync‘@‘192.168.%.%‘ IDENTIFIED BY ‘root‘; #授予同步权限mysql>grant replication slave,replication client on *.* to salvesync@‘192.168.%.%‘ identified by ‘root‘;#刷新mysql>FLUSH PRIVILEGES;3.查看主库binlog日志状态及序号,并记录(重要)
mysql>show master statusb.从库1搭建1.配置文件
#服务器唯一idserver-id=2#配置中继日志relay_log = mysql-relay-bin#设置只读read_only = 1#开启binlog日志(可以不开)log_bin = mysql-bin#使得更新的数据写进二进制日志中log_slave_updates = 12.启动从节点复制线程
mysql>change master to master_host=‘192.168.31.66‘, [你的master-ip]mysql>master_user=‘root‘,mysql>master_password=‘root‘#master_log_file=‘mysql-bin.000001‘,a-3记录的,也就是需要从主库同步日志的位置mysql>master_log_file=‘mysql-bin.000001‘,mysql>master_log_pos=413;#启动复制线程mysql>start slave;3.查看从节点状态
mysql>SHOW SLAVE STATUS\G;I/O线程和sql线程必须都是yes才正确启动
c.从库搭2搭建同步骤b
d.测试主从同步自行测试,博主测试成功了!
四、后续介绍1.三种复制方式:异步,同步,半同步方式
2.高可用架构MHA
引言一般来说讲,提到数据拆分,可以归结为两个层面:一是垂直拆分,二是水平拆分。这里我们来讨论下垂直拆分。垂直拆分是以数据库、表、列等为单位进行拆分的方法。正文MySQL里垂直拆分可以细分为:垂直拆库(...
2024.11.15数据表中images字段内容[“/images/ea/eca11ba6f3e4c99c25b125df8ffef5.jpe”, “/images/8c/c62149fdda71229315d67d13...
2024.11.15前言:默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。1.关于...
2024.11.121. MySQL主从同步的作用可以作为备份机制,相当于热备份可以用来做读写分离,均衡数据库负载2. 项目场景主服务器10.10.20.111,其中已经有数据库且库中有表、函数以及存储过程从服务器10....
2024.11.151、字符集概述大家都知道,计算机只能识别二进制码,为了让计算机能处理文字,人们给每个文字进行编码,这个编码就是计算机字符集的由来。字符集是多个字符的集合,而字符是各种文字、符号和编码的总称。MySQL...
2024.11.14