
mysql
梁吉林
最好的代码是简洁易维护的代码。
展开
-
panic: shop db open failed: this authentication plugin is not supported
经查,是因为mysql的版本是8.0.33,8以上的版本用户密码默认加密方式为“caching_sha2_password”,由于项目的各种包版本较早,可能不支持此种方式,当前解决方法是修改mysql增加对老版本加密方式“mysql_native_password”的支持。用go链接本地mysql时,报了此错误。再重启mysql使其生效即可。原创 2023-05-25 11:03:52 · 225 阅读 · 0 评论 -
一文读懂MySQL InnoDB事务隔离级别
1.查看与设置事务隔离级别在了解之前,需要先清楚事务的隔离级别怎样设置。分别为当前会话的事务隔离级别,系统全局的事务隔离级别global。mysql> select @@tx_isolation;+-----------------+| @@tx_isolation |+-----------------+| REPEATABLE-READ |+-----------------+1 row in set, 1 warning (0.00 sec)mysql> selec原创 2020-05-14 17:48:19 · 399 阅读 · 0 评论 -
详解MySQL的NULL值
1.概述NULL在MySQL中是一个非常特殊的值,官方表述为“一个未知的值”,它与其它数据类型的值均不相同。本文将从多个角度来阐述NULL值的特殊性。2.前期准备为了便于演示,先创建一个用来操作的数据表,表结构如下CREATE TABLE `mytest_null_tbl` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nam...原创 2019-07-25 16:18:33 · 6433 阅读 · 2 评论 -
Primary Key冲突而表中却查不到冲突记录
Duplicate entry ‘11423-1’ for key ‘PRIMARY’原创 2019-05-09 17:11:27 · 1654 阅读 · 0 评论 -
详解mysql分区与分表
概念 分区与分表是两个相似却又不同的概念。 在mysql里其实是没有分表这个概念的,分表代表的是工程师的一种人为化处理,即某个表的数据实在太多了(每天都会产生百万数据量),那工程师可能就会考虑分表来进行操作(例如按照时间,例如1天创建1个表或1月创建1个表),这样创建出来的表,它们的表结构是一样的,只是存储的数据不同,从广义上来讲,可以认为是一个表的内容,但是每个表是独立的个体,每个表都有自己原创 2017-11-22 15:55:38 · 799 阅读 · 0 评论 -
mysql trigger触发器简述
简介触发器属于mysql的一个高级特性,它可以算是一个简化版的存储过程。与真正的存储过程不同的是,它不是被call调用的,而是在检测到满足条件的操作后自动执行的,类似于系统监控与告警的关系。mysql的触发器只支持基于行的触发,始终都是针对于1条记录的。mysql的触发器是针对于行的insert\update\delete操作来触发,具体由哪个操作触发由用户的实际定义来决定。但每个表的每一个事件,最原创 2017-10-24 15:12:16 · 1111 阅读 · 0 评论 -
ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
在创建分区表时,mysql报了这样一个错误。ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function大意是用于做分区表的列必须是主键,或包含于主键中。明白原因后就好处理了,把用于分区的列也加入到主键中,形成复合主键,然后再执行。CREATE TABLE `f_res`原创 2017-11-09 16:06:46 · 6835 阅读 · 0 评论 -
mysql小记
1、在执行select查询的时候遇到如下问题: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near * 后经查证,是数据表中的一个字段与mys原创 2017-03-09 14:50:50 · 365 阅读 · 0 评论 -
mysql内置函数
看到一篇介绍mysql内置函数比较详细的文章,转给大家。 以下的函数大部份经过验证(mysql 5.5),修改了部份说明。数学函数:这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。 字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的函数等。 日期和时间函数:这类函数主要用于处转载 2017-09-19 18:06:00 · 764 阅读 · 0 评论 -
mysql-慢查询-mysqldumpslow简介
mysqldumpslow是mysql server自带的用来分析慢日志的工具,主要作用是分析慢查询日志文件,将日志中的内容进行摘要后输出显示。~# mysqldumpslow --helpUsage: mysqldumpslow [ OPTS... ] [ LOGS... ]Parse and summarize the MySQL slow query log. Options are --原创 2017-08-25 16:51:04 · 433 阅读 · 0 评论 -
mysql-慢查询-开启与设置
在mysql中可以开启慢查询日志,来使mysql自动记录那些执行时间超过设定的阀值的sql语句,从而方便我们进行针对性的优化。 开启慢查询日志 在mysql中,慢查询日志默认是关闭的。mysql> show variables like "log_slow%";+------------------+-------+| Variable_name | Value |+---原创 2017-08-18 18:01:37 · 1162 阅读 · 0 评论 -
去重是distinct还是group by?
distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。单纯的去重操作使用distinct,速度是快于group by的。distinctdistinct支持单列、多列的去重方式。 单列去重的方式简明易懂,即相同值只保留1个。 多列的去重则是根据指定的去重的列信息来进行,即只有原创 2017-04-24 16:53:01 · 109581 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进转载 2016-12-16 10:50:59 · 344 阅读 · 0 评论 -
mysql命令记录
修改表结构:1.添加字段:alter table 表名 add 字段名 字段属性信息;例:alter table test add name varchar(10) not null comment 'people name';2.修改字段:alter table 表名 change 字段名 字段名 字段属性信息;例:alter table test change name name int(2原创 2016-08-08 20:15:56 · 317 阅读 · 0 评论