mysql
draian
你只需努力,剩下的交给时光
展开
-
mysql分库分表策略
一、分表1、垂直拆分:根据表的字段数量2、水平拆分规则:根据特定字段取模,范围,hash二、分库1、垂直拆分:根据业务拆分订单数据过多时可给订单单独创建数据库2、水平拆分: 垂直拆分后的数据库根据规则进行水平拆分如:订单数据库表的设计首先思考:需要知道数据表的相关查询有哪些,清楚数据库查询时冷和热的查询,好去设计。不知道哪些查询,拆分时可能规则不合理,会造成拆分后性能越来越低查询规则:1、根据用户查询订单2、根据商家查询订单拆分规则:...原创 2021-03-22 23:32:39 · 1294 阅读 · 0 评论 -
读写分离和负载均衡
为什么读写分离,减少主库由于读压力造成负载,将读操作放到从服务器中,写操作必须在主数据库中 由程序实现读写分离由中间件来实现读写分离 由程序实现分离:优点:由开发人员控制什么查询在从库执行,因此比较灵活由程序直接连接数据库,所有性能损耗少缺点:增加开发人员工作量,使程序代码复杂,难维护;人为控制,容易出现错误 中间件实现读写分离:中间件工具:m...原创 2019-01-23 17:33:12 · 973 阅读 · 0 评论 -
mysql高可用架构之MHA架构
保证事务的一致性达到真正意义上的高可用 MHA提供了什么功能监控主数据库服务器是否可用当主DB不可用时,从多个从服务器中选举出新的主数据库服务器提供了主从切换和故障转移功能MHA可以与半同步结合提供主从切换和故障转移功能 MHA是如何进行主从切换的:尝试从出现故障的主数据库保存二进制日志从多个备选从服务器中选举出新的备选主服务器可以人为设置一...原创 2019-01-23 15:51:33 · 404 阅读 · 0 评论 -
mysql高可用架构之MMM架构
什么是高可用:指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性严重的主从延迟,主从复制中断,锁引起的大量阻塞 如何实现高可用:避免导致系统不可用的因素,减少系统不可以的时间因素:服务器磁盘空间耗尽,性能糟糕的sql,表结构和索引没有优化,主从数据不一致,人为的操作失误等等磁盘空间耗尽:备份或者各种查询日志突增导致的...原创 2019-01-23 13:57:46 · 4074 阅读 · 0 评论 -
事务四大特性及隔离级别详解示例
一、事务特性1、原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行2、稳定性:数据库在事务执行前后状态都必须是稳定的3、隔离性:事务之间不会相互影响4、持久性:事务一旦提交,其结果是永久的。 开启一个事务 $pdo=实例pdo的对象; $pdo->beginTransaction(); // 开启一个事务 $pdo-...原创 2019-01-28 16:26:23 · 651 阅读 · 0 评论 -
影响mysql性能的点(centos系统优化)
centos系统参数优化:net.core.somaxconn = 65535每个端口监听的队列的长度net.core.netdev_max_backlog = 65535每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 net.ipv4.tcp_max_syn_backlog = 65535决定还未获得对方连接的请求可保存在队列中的最...原创 2019-01-16 21:29:03 · 448 阅读 · 0 评论 -
影响mysql性能的点(服务器硬件)
1、服务器硬件,(cpu不够块,内存不够多,磁盘IO太慢)2、服务器操作系统(配置)3、MySQL的存储引擎(myisam:不支持事务,表及锁。innodb:支持事务,行级锁)4、数据库参数配置(优化)(影响比前三个大)5、数据库结构设计和sql优化:慢查询,数据库表结构设计,sql语句编写和优化。 一、CPU选择:频率和线程不可兼得,贵应用是否是CPU密集型的(加快s...原创 2019-01-16 16:58:36 · 2700 阅读 · 0 评论 -
mysql复制常见问题处理
一、由于数据损坏或丢失所引起的主从复制错误1、主库或从库意外宕机引起的错误:(宕机,部分数据未刷新到主机磁盘中,在这种情况下重启主从复制服务器后再次进行同步,从库尝试读取相关的二进制事件,然而在主库的二进制文件中没有二进制偏移量所代表的事件,在宕机时没有将这个事件保存到二进制文件中,会产生从库读取不到二进制日志的错误,从而造成链路中断)解决:跳过二进制日志事件;注入空事务的...原创 2019-01-20 21:08:12 · 587 阅读 · 0 评论 -
mysql高可用架构设计(主从复制,复制拓扑)
web服务器:对于web服务器可通过增加web服务器来分担负载MySQL:MySQL复制功能提供分担负载(读负载),通过水平增加数据库,复制基于主库的二进制日志,可能会存在延迟复制解决了什么问题:1、实现在不同服务器上的数据分布:利用二进制日志增量进行,不需要太多的带宽,但是使用基于行的复制在进行大批量的更改时会对带宽带来一定的压力(特别是在跨IDC环境下进行复制),复制应...原创 2019-01-20 20:21:17 · 503 阅读 · 0 评论 -
sql优化
获取有问题的sql:通过用户反馈,通过慢查询日志,实时获取存在问题的sql 实时获取有性能问题的sql :information_schema数据库下的processlist表select id,'user','host',DB,command,'time',state,info FROM information_schema.PROCESSLIST WHERE TIME>=...原创 2019-01-25 17:53:35 · 177 阅读 · 0 评论 -
数据库索引优化
B-tree索引的特点:B-tree索引以B+树的结构存储数据B-tree索引能够加快数据的查询速度B-tree索引更适合进行范围查找 叶子节点指针指向被索引的数据innode中叶子节点指向主键myisam中叶子节点指向数据的物理地址 在什么情况下可以用到B树索引1、全局匹配的查询:order_sn = '9876432119900'(和索引中的所有列进行匹...原创 2019-01-25 10:31:05 · 127 阅读 · 0 评论 -
mysql数据库优化
数据库结构优化目的:1、减少数据冗余2、尽量避免数据维护中出现更新,插入和删除异常插入异常:如果表中的某个实体随着另一个实体而存在更新异常:如果更改表中的某个实体的单独属性时,需要对多行进行更新删除异常:如果删除表中的某个实体会导致其他实体的消失3、节约数据存储空间4、提高查询效率数据库结构设计的步骤:1、需求分析:全面了解产品设计的存储需求,存储需求,数据...原创 2019-01-18 17:33:55 · 135 阅读 · 1 评论 -
配置phpmyadmin连接远程 MySQL数据库
1、phpmyadmin程序所在服务器:192.168.1.1,访问地址为:http://192.168.1.1/phpmyadmin2、MySQL数据库所在服务器:192.168.1.2,已经允许数据库外链,MySQL数据库用户名:admin 密码:1234563、现在要通过http://192.168.1.1/phpmyadmin来管理服务器192.168.1.2上面的MySQL数据库系...原创 2018-09-13 16:19:56 · 11093 阅读 · 0 评论 -
mysql设计对性能的影响和mysql基准测试
过分的反范式化为表建立太多的列过分的范式造成太多的表关联,关联表控制在10个以内在OLTP环境中使用不恰当的分区表使用外键保证数据的完整性(效率低,尽量不要使用外键约束) 优化顺序:1、数据库结构设计和SQL语句:表结构优化,索引优化,sql语句的优化2、数据库存储引擎的选择和参数配置:存储引擎的选择和内存缓存池的配置,不要混合使用不同的存储引擎3、系统选择及性...原创 2019-01-18 11:33:16 · 148 阅读 · 0 评论 -
mysql存储引擎myisam,innoDB的区别
myisam表级锁,文件为三个,不支持事务,支持全文索引,支持数据压缩myisam的限制(5.0版本)<:单表最大文件4G,如要修改MAX_Rows和AVG_ROW_LENGTH适用场景:非事务应用,只读类应用(可以对数据文件压缩,在读取数据时加共享锁,共享锁读取不会堵塞),空间类应用 mysql5.5之后默认存储引擎InnoDB:InnoDB使用表空间进行,数据存储...原创 2019-01-17 15:37:13 · 138 阅读 · 0 评论 -
mysql开启bin-log日志,实习主从配置,读写分离
参考文档:http://blog.csdn.net/goustzhu/article/details/9339621 主从、主主、半同步复制 http://database.51cto.com/art/201505/475376_all.htm 集群一、什么是主从复制 至少两台数据库服务器,可以分别设置主服务器和从服务器,对主服务器的任何操...原创 2018-09-27 16:44:39 · 820 阅读 · 0 评论