随笔分类 -  数据库-MySQL

摘要:创建函数时报错: 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want 阅读全文
posted @ 2023-03-06 22:16 业余砖家 阅读(503) 评论(0) 推荐(0)
摘要:MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket 一、错误现场还原: 下面我们通过三种方式来连接,然后观察提示的错误信息: 1、直接使用“mysql”命令,不带主机名参数; 2、使用带了主机 阅读全文
posted @ 2023-01-28 09:57 业余砖家 阅读(2969) 评论(0) 推荐(0)
摘要:场景:通过mysql -h localhost -u root -p 连接MySQL数据库时报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket /tmp/mysql.sock 解决方案: 1、创建mysq 阅读全文
posted @ 2022-11-22 15:50 业余砖家 阅读(1320) 评论(0) 推荐(0)
摘要:一、清空表语句 truncate table [表名] ; delete from [表名] where …; 二、相同点 两者都是删除表数据 但不会删除表结构 三、不同点 delete支持按条件删除,truncate不支持。 delete 删除后自增列不会重置,而truncate会被重置。 del 阅读全文
posted @ 2022-11-01 17:28 业余砖家 阅读(130) 评论(0) 推荐(0)
摘要:一、索引类型 索引可以提升查询速度,会影响where查询,以及order by排序。 MySQL索引类型如下: (1) 从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引; (2) 从应用层次划分:普通索引、唯一索引、主键索引、复合索引; (3) 从索引键 阅读全文
posted @ 2022-10-12 15:08 业余砖家 阅读(1741) 评论(0) 推荐(0)
摘要:1. DQL相关 2. DDL、DML、DCL相关 3.架构相关 3.1 MySQL的复制原理以及流程 主从复制:将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行。 主从复制的作用 主数据库出现问题,可以切换到从数据库。 可以进行数据库层面的读写 阅读全文
posted @ 2022-09-26 21:04 业余砖家 阅读(204) 评论(0) 推荐(0)
摘要:DBA操作规范 1、涉及业务上的修改/删除数据,在得到业务方、CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆。 2、所有上线需求必须走工单系统,口头通知视为无效。 3、在对大表做表结构变更时,如修改字段属性会造成锁表,并会造成从库延迟,从而影响线上业务,必须在凌晨0:00后业务低峰期执行 阅读全文
posted @ 2022-08-15 16:21 业余砖家 阅读(95) 评论(0) 推荐(0)
摘要:1、数据库设计方面 A. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 B. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。 如: select id from t where nu 阅读全文
posted @ 2022-08-15 16:02 业余砖家 阅读(206) 评论(0) 推荐(0)
摘要:谓词下推 将外层查询块的 WHERE 子句中的谓词移入所包含的较低层查询块(例如视图),从而能够提早进行数据过滤以及有可能更好地利用索引。 这在分区数据库环境中甚至更为重要,其原因在于,提早进行过滤有可能减少必须在数据库分区之间传递的数据量。此优化技术在 SQL 中被称为谓词下推(Predicate 阅读全文
posted @ 2022-08-12 20:29 业余砖家 阅读(1054) 评论(0) 推荐(0)
摘要:1、下载tar包 (1)Window PC下载(PC需要联网) MySQL官网地址:https://www.mysql.com/ MySQL社区版下载地址: https://dev.mysql.com/downloads/mysql/ (2)Linux服务器下载(Linux服务器需要联网): wge 阅读全文
posted @ 2022-07-27 14:11 业余砖家 阅读(5066) 评论(0) 推荐(0)
摘要:一、 SELECT * 的含义 select * 语句是从指定的表中按照顺序返回所有列。 二、 SELECT * 的优缺点 1 优点 在实际开发过程中,大家习惯性地使用select * from table_name进行数据查询,当然使用*代替具体的字段名称有一些优点。 主要优点有如下几个方面: 1 阅读全文
posted @ 2022-07-27 09:35 业余砖家 阅读(1732) 评论(0) 推荐(1)
摘要:1. 下载employees示例数据库employees是一个官方提供的简单数据库,在mysql的官方找到employees的说明页面,通过github下载该数据库。 https://github.com/datacharmer/test_db 2. 导入employees数据库解压下载好的打包文件 阅读全文
posted @ 2022-05-17 09:48 业余砖家 阅读(415) 评论(0) 推荐(0)
摘要:MySQL执行过程以及顺序 前言:MySQL在我们的开发中基本每天都要面对的,作为开发中的数据的来源,MySQL承担者存储数据和读写数据的职责。因为学习和了解MySQL是至关重要的,那么当我们在客户端发起一个SQL到出现详细的查询数据,这其中究竟经历了什么样的过程?MySQL服务端是如何处理请求的, 阅读全文
posted @ 2022-05-13 18:06 业余砖家 阅读(448) 评论(0) 推荐(0)
摘要:一、编写查询SQL顺序 1.select 2.from 3.join on 4.where 5.group by 6.having 7.order by 8.limit 二、MySQL执行顺序 1.from 2.on 3.join 4.where 5.group by 6.having 7.sele 阅读全文
posted @ 2022-05-13 17:33 业余砖家 阅读(2788) 评论(0) 推荐(0)
摘要:一、索引的建立原则(1)、对查询频次较高, 且数据量比较大的表, 建立索引。(2)、索引字段的选择, 最佳候选列应当从where子句的条件中提取, 如果where子句中的组合比较多, 那么应当挑选最常用, 过滤效果最好的列的组合。(3)、如果where后有多个条件经常被用到, 建议建立复合索引, 复 阅读全文
posted @ 2022-05-13 17:05 业余砖家 阅读(722) 评论(0) 推荐(0)
摘要:最左匹配原则都是针对联合索引来说的,那么为什么要使用联合索引呢? 一、为什么要使用联合索引? 1、减少开销。 建一个联合索引(col1,col2,col3),实际相当于建了(col1),(col1,col2),(col1,col2,col3)三个索引。每多一个索引,都会增加写操作的开销和磁盘空间的开 阅读全文
posted @ 2022-05-13 15:55 业余砖家 阅读(1181) 评论(0) 推荐(0)
摘要:Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 、MongoDB 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、‎腾讯云。 下面介绍如何使用它导入MySQL的示例数据库em 阅读全文
posted @ 2022-05-13 11:10 业余砖家 阅读(467) 评论(0) 推荐(0)
摘要:(一)概念 MySQL的CTE是在MySQL8.0版本开始支持的,公用表表达式是一个命名的临时结果集,仅在单个SQL语句(例如select、insert、delete和update)的执行范围内存在。CTE分为递归CTE和非递归CTE。 (二)意义 1、MySQL8.0之前,进行复杂查询时需要使用子 阅读全文
posted @ 2022-05-12 16:57 业余砖家 阅读(1908) 评论(0) 推荐(0)
摘要:顺序IO是指读写操作的访问地址连续。在顺序IO访问中,HDD所需的磁道搜索时间显着减少,因为读/写磁头可以以最⼩的移动访问下一个块。数据备份和日志记录等业务是顺序IO业务。随机IO是指读写操作时间连续,但访问地址不连续,随机分布在磁盘的地址空间中。产⽣随机IO的业务有OLTP服务,SQL,即时消息服 阅读全文
posted @ 2022-05-12 11:07 业余砖家 阅读(1937) 评论(0) 推荐(0)
摘要:1、更新Linux yum yum update 2、安装wget工具(如果已经安装wget,可以跳过该步骤) yum install wget 3、使用wget下载MySQL Yum Repository并执行安装 wget https://dev.mysql.com/get/mysql80-co 阅读全文
posted @ 2022-05-06 10:09 业余砖家 阅读(700) 评论(0) 推荐(0)