MySQL
文章平均质量分 95
丨落叶
这个作者很懒,什么都没留下…
展开
-
为什么数据库字段要使用NOT NULL?
转载自:为什么数据库字段要使用NOT NULL? - 艾小仙 - 博客园转载为了记录下来,我这边这方面理解确实不够深入,之前一直认为数据库必须设置NOT NULL 比较鸡肋,看了这篇文章之后,更加理解这方面的好处了最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOT NULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOT NULL并且给默认值的形式。通常,对于默认值一般这样设置: 整形,我们一般使用转载 2022-01-18 13:45:28 · 3932 阅读 · 0 评论 -
排查和解决:Lock wait timeout exceeded; try restarting transaction
一、问题如图:二、排查思路1、什么问题引起这种报错?某一个SQL或者大事务,将表或者行记录进行了加锁操作,然后长时间不释放锁。导致其他事务超时。2、解决方法一:修改超时时间# 查询全局等待事务锁超时时间SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';# 设置全局等待事务锁超时时间SET GLOBAL innodb_lock_wait_timeout=100;# 查询当前会话等待事务锁超时时间SHOW VA原创 2020-08-06 14:39:17 · 35426 阅读 · 0 评论 -
一次代码报错的分析:MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
一次代码报错的分析:MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction1. 报错信息2. 报错原因3. 问题过程4. 问题解决1. 报错信息### Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbac...原创 2019-11-18 10:26:53 · 13065 阅读 · 3 评论 -
【MySQL】如何优化慢SQL
1、druid 是阿里巴巴开源的为监控而生的数据库连接池我们开发项目的时候尽可能的提前发现问题,增加数据库监控是一个很好的方法。感兴趣的可以查看https://github.com/alibaba/druid2、MySQL慢日志监控show variables like "%query%";slow_query_log_file 慢日志地址slow_query_log ...原创 2019-02-15 13:18:25 · 1620 阅读 · 0 评论 -
SQL中的where条件,在数据库中提取与应用浅析
转载自:SQL中的where条件,在数据库中提取与应用浅析,感谢大神登神1、问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都...转载 2019-02-15 15:37:12 · 270 阅读 · 0 评论 -
MySQL锁分类
一、按锁的粒度分类,可分为表级锁、行级锁、页级锁行级锁:行级锁是MySQL锁定粒度最小的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,单加锁开销最大。InnoDb支持行级锁。 表级锁:表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。最常使用的MYISAM与IN...原创 2019-02-26 10:38:08 · 863 阅读 · 0 评论 -
service mysqld start 报错 Redirecting to /bin/systemctl start mysqld.service
使用如下命令操作mysql:systemctl restart mysqld.servicesystemctl start mysqld.servicesystemctl stop mysqld.service这样就解决了原创 2019-06-21 11:08:14 · 6109 阅读 · 0 评论 -
mysql远程访问 “1130 - xxx.xxx.x.xxx is not allowed to connect to this MySQL server”
操作:登录到mysql服务端,指令为mysql -h localhost -u root -p,然后输入密码创建远程登陆用户并授权,指令如下:grant all PRIVILEGES on *.* to 'root'@'192.168.0.129' identified by '111111' WITH GRANT OPTION;Query OK, 0 rows affected (...转载 2019-06-21 11:54:30 · 622 阅读 · 0 评论