mysql
fall_hat
这个作者很懒,什么都没留下…
展开
-
@Transactional事务注解
事务原创 2023-02-05 20:27:38 · 3906 阅读 · 1 评论 -
最左匹配原则
最左原创 2023-02-03 09:46:23 · 281 阅读 · 0 评论 -
mysql索引 b+树
mysql索引原创 2023-01-06 00:00:30 · 114 阅读 · 0 评论 -
分布式事务
分布式事务原创 2022-08-12 13:31:37 · 563 阅读 · 0 评论 -
mysql查询语句的执行过程
查询sql执行过程原创 2022-08-01 15:49:32 · 203 阅读 · 0 评论 -
水平分库分表
分库分表原创 2022-07-30 23:54:54 · 194 阅读 · 0 评论 -
mysql 分库分表
mysql原创 2022-07-30 15:21:11 · 127 阅读 · 0 评论 -
mysql的主从复制、读写分离
读写分离原创 2022-07-25 11:29:36 · 326 阅读 · 0 评论 -
mysql update执行过程
select执行过程执行语句前要先连接数据库,这是连接器的工作。前面我们说过,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以这条语句就会把表 T 上所有缓存结果都清空。这也就是我们一般不建议使用查询缓存的原因。接下来,分析器会通过词法和语法解析知道这是一条更新语句。优化器决定要使用 ID 这个索引。然后,执行器负责具体执行,找到这一行,然后更新与查询流程不一样的是,更新流程还涉及两个重要的日志模块:redo log(重做日志)和 binlog(归档日志)。redo log(重做日志)原创 2022-05-11 11:34:15 · 509 阅读 · 0 评论 -
mysql5.7.30zip版安装
下载zip包在根目录建立mysql.ini[mysqld]port = 3306basedir = D:\pro\mysql5.7\mysql-5.7.31-winx64datadir = D:\pro\mysql5.7\mysql-5.7.31-winx64\datamax_connections=200character-set-server=utf8default-storage-engine=INNODBsql_mode=NO_ENGINE_SUBSTITUTION,STRIC.原创 2020-09-24 21:36:48 · 329 阅读 · 0 评论 -
mysql索引
mysql 索引不能原创 2020-09-07 17:12:46 · 132 阅读 · 1 评论 -
数据库SQL索引失效总结
对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引alter table student add index my_index(name, age) // name左边的列, age 右边的列 select * from student where name = 'aaa' // 会用到索引select * from student where a.原创 2020-08-20 13:10:42 · 290 阅读 · 0 评论 -
MySQL的四种事务隔离级别
事务的基本要素(ACID)原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干原创 2020-06-29 07:38:36 · 172 阅读 · 0 评论 -
mysql组成架构
架构图连接器我们要进行查询,第一步就是先去链接数据库,那这个时候就是连接器跟我们对接。他负责跟客户端建立链接、获取权限、维持和管理连接。链接的时候会经过TCP握手,然后身份验证,然后我们输入用户名密码就好了。验证ok后,我们就连上了这个MySQL服务了,但是这个时候我们处于空闲状态。查看空闲连接列表show processlist,下图就是我在自己的数据库表执行命令的结果,其中的Command列显示为Sleep的这一行,就表示现在系统里面有一个空闲连接。这里需要注意的是,我们数据库.转载 2020-06-11 13:01:02 · 290 阅读 · 0 评论 -
mysql数据库调优
面试官一问到数据库调优的,大家就说加索引,除了加索引大家还知道别的么?或者索引相关的点你全部都知道么?聚簇索引,非聚簇索引,普通索引,唯一索引,change buffer,表锁、行锁、间隙锁以及行锁并发情况下的最大TPS是多少?还有索引为啥会选择错误?这些大家知道嘛?数据库的组成:我们所谓的调优也就是在,执行器执行之前的分析器,优化器阶段完成的,那我们开发工作中怎么去调优的呢?一般在开发涉及SQL的业务都会去本地环境跑一遍SQL,用explain去看一下执行计划,看看分析的结果是否符合自己的预期原创 2020-06-11 09:43:40 · 3434 阅读 · 1 评论 -
mysql 5.5 zip配置安装
官网下载mysql5.5zip版解压后在根目录复制一个my-small.ini为my.ini启动mysql mysqld --defaults-file=…/my.ini停止mysql mysqladmin -u root shutdownmysql -u root 进入mysql设置密码mysqladmin -u root password “new_password”...原创 2020-04-14 10:07:59 · 285 阅读 · 0 评论 -
mysql之BTree索引 和 哈希索引
索引排好序的快速查找数据结构。索引会影响where后面的查找,和order by 后面的排序。hash索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),并且Hash索引将所有的哈希码存储在索引中,同时在索引表中保存指向每个数据行的指针。BTree索引B-Tree能加快数据的访问速度,因为存储引擎不再需...原创 2020-03-12 18:53:49 · 149 阅读 · 0 评论 -
mysql引擎MyISAM和InnoDB区别
MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。两者的对比:是否支持行级锁 : MyISAM 只有表级锁(table-...原创 2020-03-12 18:19:01 · 101 阅读 · 0 评论 -
mysql 建表时timestamp类型报错[Err] 1067 - Invalid default value for 'update_time'
解决办法:将timestamp类型的字段加上null default null如: create_time timestamp NULL DEFAULT NULL comment ‘创建时间’,原创 2020-03-10 14:49:20 · 2684 阅读 · 1 评论 -
明明白白的mysql分区表
简介Mysql支持水平分区,并不支持垂直分区;水平分区:指将同一表中不同行的记录分配到不同的物理文件中;垂直分区:指将同一表中不同列的记录分配到不同的物理文件中;其中CSV、FEDORATED、MERGE等引擎不支持分区,MYISAM、InnoDB、NDB等引擎支持分区目的将一个表或索引分解为多个更小、更可管理的部分,从逻辑上讲,只有一个表或者索引,但是物理上这个表或者索引可能由数十个...原创 2020-03-05 18:56:47 · 113 阅读 · 0 评论 -
mysql too many connections 解决方法
1、mysql -u root -p 回车输入密码进入mysql2、show processlist;查看连接数,可以发现有很多连接处于sleep状态,这些其实是暂时没有用的,所以可以kill掉3、show variables like “max_connections”;查看最大连接数,应该是与上面查询到的连接数相同,才会出现too many connections的情况4、set G...原创 2020-02-15 13:34:57 · 135 阅读 · 0 评论 -
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
mysql连接报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/m...原创 2020-02-15 11:01:20 · 863 阅读 · 0 评论 -
linux安装mysql5.7没有初始密码解决办法
⒈打开配置文件/etc/my.cnf,然后在里面找到 [mysqld] 这一项,然后在该配置项下添加skip-grant-tables 这个配置,然后保存文件。⒉重启mysql服务:systemctl restart mysqld⒊接着就可以免密登录了:敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中。⒋重置密码:u...原创 2020-01-17 11:00:50 · 3242 阅读 · 0 评论 -
MYSQL TOO MANY CONNECTIONS 解决办法(LINUX)
原因: mysql配置参数中设定的并发连接数太少或者系统繁忙导致连接数被占满。 连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关。 wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。解决办法:打开 /etc/my.cnf ,添加如下几行,然后重启mysqlmax_connections...原创 2020-01-02 19:07:06 · 671 阅读 · 0 评论 -
java应用mysql报错The last packet successfully received from the server was 231,450 milliseconds ago.
报错内容:The last packet successfully received from the server was 231,450 milliseconds ago. The last packet sent successfully to the server was 231,450 milliseconds ago. is longer than the server confi...原创 2019-12-20 12:32:45 · 813 阅读 · 0 评论 -
linux开启MySQL binlog日志
binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。我们可以通过binlog日志恢复数据。mysql -uroot -p 登录数据库登录MySQL后,输入show variables like ‘%log_bin%’;查看到binlog日志为OF...原创 2019-11-11 18:38:04 · 330 阅读 · 0 评论 -
mysql使用limit报错--This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
下面的语句不能正确执行,报错为This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'select * from table where id in (select id from table limit 10);但是,,但是,,,只要你再来一层就行。。如:select * from t...原创 2019-02-26 18:24:39 · 1220 阅读 · 0 评论