MySQL
文章平均质量分 78
学习MySQL的一些的语法、DDL、DDM等增删改查,设计库表,优化SQL、索引优化、SQL事务、高并发处理等
limingqiang007
一个积极的小想法,可以让很多美好的事情发生。
展开
-
通过rpm安装MySQL8.0
安装Mysql server端 (这种在线安装太大的话,去找tar包离线安装)6、初始化mysql (mysql创建重要数据、生成root临时密码、核心文件)10、修改root密码,修改后退出重新进入mysql即可。9、拿到密码,登录mysql数据库,输入刚才临时密码。8、访问数据 (查看root临时密码)4、安装mysql client。12、修改mysql的配置文件。1、下载mysql的。原创 2022-11-18 14:01:37 · 1510 阅读 · 1 评论 -
MySQL常用函数汇总(字符串、时间函数等)
MySQL常用函数汇总,包含时间函数、字符串函数等原创 2022-11-18 13:56:28 · 597 阅读 · 0 评论 -
利用PerconaTookit工具在线修改表结构
(比如INT不够用换成BIGINT,或者某个字段有唯一性约束,现在去掉唯一性约束,但是也多多少少也会影响性能 )—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等。引入了新的密码认证方式,PT工具是暂时不支持的,所以只能在数据库端做手脚,把数据库密码验证方式改成旧的认证方式。,在业务系统运行的过程中随意修改、删改字段,会造成重大事故,而且在修改之前,必须对表做备份。常规的做法是业务停机,维护表结构。原创 2022-08-25 09:20:41 · 2529 阅读 · 2 评论 -
为什么要用 B+ 树,而不用普通二叉树?
如果树这种数据结构作为索引,那每查找一次数据就需要从磁盘中读取一个节点,也就是一个磁盘块,但是平衡二叉树可是每个节点只存储一个键值和数据的,如果是 B+ 树,可以存储更多的节点数据,树的高度也会降低,因此读取磁盘的次数就降下来啦,查询效率就快。根节点和枝节点不保存数据区, 所以一个节点可以保存更多的关键字,一次磁盘加载的关键字更多,IO次数更少。可以从几个维度去看这个问题,查询是否够快,效率是否稳定,存储数据多少,以及查找磁盘次数。它是 B Tree 的变种,B Tree 能解决的问题,它都能解决。原创 2022-08-25 09:18:06 · 1074 阅读 · 0 评论 -
一文带你了解SQL的执行计划(explain)
为什么关注sql的执行计划,因为一个sql的执行计划可以告诉我们很多关于如何优化sql的信息。通过一个sql计划,如何访问中的数据 (是使用全表扫描还是索引查找?)一个表中可能存在多个表中不同的索引,表中的类型是什么是否子查询、关联查询等…sql学习来自于sqlercn讲师了解SQL如何访问表中的数据了解SQL如何使用表中的索引了解SQL所使用的查询类型。...原创 2022-08-15 09:56:59 · 20246 阅读 · 0 评论 -
InnoDB的几种事务隔离级别
前文首先理解事务的ACID的隔离性 并发带来的问题,脏读 、不可重复读 、幻读 的问题。脏读: 一个事务读取了另一个事务未提交的数据,导致数据不一致。【事务2未提交】不可重复读: 一个事务前后两次读取的同一数据不一致 【事务2已提交】幻读: 一个事务两次查询的结果集记录数不一致,返回的记录行数有差异不可重复读跟脏读的区别不可重读就是第二个事务提交了对数据的修改,脏读是在第二个事务未提交回滚了对数据的修改。虽然在不可重复读前后数据不一样,由于事务2最终提交了修改,在事务1第二次读到数据,实际上是原创 2022-02-14 18:28:12 · 2471 阅读 · 2 评论 -
mysql通过mysqlbinlog日志恢复数据
从删库到跑路恢复如果不是InnoDB跟没开启日志!那就莫得方法了!还是选择跑路吧!(开个玩笑)【mysql bin 没有mysqlbinlog.exe 去网上下载】一、首先一定要开启binlog!!!!在mysql的 my.ini文件在[mysqld]区块设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀...原创 2020-03-05 10:51:32 · 1235 阅读 · 0 评论 -
mysql 查询当天、本周,本月,上一个月的数据
今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY转载 2017-12-05 15:07:18 · 4242 阅读 · 0 评论 -
MySQL 常见的报错及解决方式
MySQL 常见的报错及解决方式一、Can't connect to MySQL server on 'localhost'(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错转载 2017-09-15 09:56:32 · 4189 阅读 · 0 评论 -
MYSQL GROUP BY 对多个字段进行分组
在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:我们想统计每门课程有多少个学生报名,应用如下SQL:得到如下结果:因为表里记录了有5个学生选择ITB001,2个学生选择了MKB114。产生这个结果的原因是:GROUP BY X意思是将所有转载 2017-09-23 09:33:58 · 1352 阅读 · 0 评论