mysql
文章平均质量分 63
没文化取名很难
这个作者很懒,什么都没留下…
展开
-
Innodb事务4大特性(ACID)的实现原理
原子性:单个事务的执行要么整体成功,要么整体失败。主要通过undo log实现,undo log中记录了修改前的数据版本,在事务执行失败时,通过undo log回滚。持久性:事务在提交后,对数据的修改是持久化的。主要通过redo log实现。innno db通过内存缓存来提高性能,在执行查询(select)时,先查内存缓存,没有再查磁盘,并将数据缓存到内存;在执行修改(update,insert,delete)时,先更新缓存,再延期统一刷入磁盘,以减少磁盘io次数,但由于内存缓存在服务器宕机时会丢失,所.原创 2021-04-13 15:43:40 · 277 阅读 · 0 评论 -
mysql innodb默认事务隔离级别-repeatable read在事务中是否能导致幻读的实验
测试准备: 1. show variables like ‘%unsafe%’;确保 innodb_locks_unsafe_for_binlog值为 OFF(或者0); 2. show variables like ‘%tx%’; 确保 tx_isolation 的值为 REPEATABLE-READ。 3. 新建表t_test :CREATE TABLE t_test ( id INT(32) NOT NULL, val CHAR(1) D转载 2021-04-08 17:50:03 · 91 阅读 · 0 评论 -
mysql数据库服务器与RAID存储架构
数据库服务器使用的RAID存储架构mysql数据库就是一个软件,底层就是磁盘来存储数据,基于内存来提升数据读写性能。mysql运行过程中,他需要使用CPU,内存,磁盘和网卡这些硬件,但是不能直接使用,都是通过调用操作系统提供的接口,依托于操作系统来使用和运行的,然后linux操作系统负责操作底层的硬件。一般来说,很多数据库部署在机器上的时候,存储都是搭建的RAID存储架构;在存储层面往往回在机器上搞多块磁盘,然后引入RAID这个技术,RAID:管理机器里的多块磁盘的一种磁盘阵列技术。转载 2021-03-25 17:39:01 · 495 阅读 · 1 评论 -
mysql读写分离与分库分表
读写分离mysql读写分离实际利用的是主从复制架构,主数据库主要处理写操作,读请求被路由到从数据库来减少数据库压力。存在的问题从数据库的数据相较于主数据库有延迟,造成读不到新数据,且并发量越高,延迟问题越严重不能减轻写压力如何解决问题1,在对数据有强正确性要求时,采用强制路由的方式使读操作落地主库问题2,使用分库分表实现proxy代理层(shardingproxy、mysqlproxy、mycat、atlas等)应用层(java:sharding-jdbc、TDDL等)分库原创 2021-03-22 17:37:49 · 352 阅读 · 0 评论 -
MySQL的utf8编码和utf8mb4
mysql的utf8编码最多支持3个字节,utf8mb4编码可以支持4个字节,utf8编码能够支持的字符集是utf8mb4编码的子集(例如:utf8mb4编码可以支持emoji表情,而utf8不支持)若当前的数据库、表和字段已经设置为了utf8编码,那么当需要处理生僻字符(4字节)时,需要将编码更新为utf8mb4,经过验证一下过程可以实现:修改数据库编码及字符集ALTER DATABASE db_name(你的数据库) CHARACTER SET = utf8mb4 COLLATE = utf8原创 2021-03-03 16:56:29 · 353 阅读 · 1 评论