
MySQL
文章平均质量分 51
分享MySQL相关的实践处理方案和使用心得
七夜zippoe
这个作者很懒,什么都没留下…
展开
-
MySQL8.0.12的坑之lower_case_table_names
如果不是第一次装,需要卸载掉原有的mysql,-v /home/mysql/data:/var/lib/mysql 这里指定一个新的,干净的数据仓库。后续如果你想要在my.cnf中修改此项,Mysql8.0是不允许两者不一致的情况发生(5.7的版本是可以的,所以5.7的版本依然可以直接修改my.cnf)。但是我这边尝试了很多遍都无效,原因是因为我的mysql初始化过了,/var/lib/mysql不是默认的初始化数据库,有人为修改的痕迹。重启mysql,发现mysql不仅没有启动成功,反而不断的在重启。原创 2025-03-20 18:04:03 · 642 阅读 · 0 评论 -
sql的调优指南及高级sql技巧
SQL调优是一个持续的过程,结合以上指南和技巧,可以提高数据库的查询性能和整体效率。同时,随着数据量的增加和应用需求的变化,定期评估和优化SQL查询和数据库结构是必要的。原创 2024-10-08 11:40:02 · 1281 阅读 · 0 评论 -
MySQL Explain详解
不损失精确性的情况下,长度越短越好。原创 2024-05-24 16:40:50 · 743 阅读 · 0 评论 -
com.mysql.cj.exceptions.CJException: null, message from server: “Host ‘xxxx‘ is blocked because of
首先数据库使用Navicat访问正常,但是应用访问就是不行,即使重启mysql实例也没效果。最后定位到,应该是短时间内产生了大量中断的数据库连接导致,而且失败的连接数量超过了mysql的max_connection_errors的最大值。1.登录mysql,使用 flush hosts来命令清理hosts文件。2.调整mysql的最大连接数和最大错误连接数的大小。原创 2024-05-17 13:35:44 · 723 阅读 · 0 评论 -
mysql怎么生成随机的32位字母的字符串
mysql怎么生成随机的32位字母的字符串set global log_bin_trust_function_creators = 1;DROP FUNCTION IF EXISTS rand_string;DELIMITER $$CREATE FUNCTION rand_string(n INT)RETURNS VARCHAR(255)BEGINDECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGH原创 2021-10-26 08:57:39 · 706 阅读 · 0 评论 -
mysql存储过程中if的嵌套
mysql存储过程中if的嵌套前几日写存储过程,使用嵌套if语句的时候,碰到一个奇怪的问题,多方找原因无果。后发现是一个很sb的问题。。。if condition1 thenif condition1.1 then do something1.1;else if condition1.2 then do something1.2;else -- 报错的地方 do something1.3;endif;elsedo something2.2;end原创 2021-10-22 17:03:02 · 1277 阅读 · 0 评论 -
mysql创建新用户并授权
我们在使用mysql的过程中,经常需要对用户授权(添加,修改,删除),在mysql当中有三种方式实现 分别是 INSERT USER表的方法、CREATE USER的方法、GRANT的方法。今天主要看一下grant方法是如何实现的分两种情况,第一种先使用create user命令创建用户,然后grant授权;第二种直接使用grant创建并授权;我们先看第一种如何实现查看用户权限show grants for 你的用户比如:show grants for root@'localhost';一原创 2021-11-20 12:41:18 · 22894 阅读 · 1 评论 -
MySQL表名不区分大小写的设置方法,附Docker修改方法
MySQL表名不区分大小写的设置方法,附Docker修改方法MySQL在windows系统下安装默认是对表名大小写不敏感的,但是在linux下,一般需要手动设置一、linux修改配置文件/etc/my.cnf 文件,在[mysqld]节点下,加入一行:lower_case_table_names=1重启MySQL服务:service mysql restartPS: lower_case_table_names 参数 0区分大小写,1不区分二、Docker修改配置文件如果是Docker安装原创 2021-11-20 07:49:55 · 2693 阅读 · 0 评论 -
Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNeste
在做负载均衡过程中,在多个服务器上部署了同样一套程序,数据库用的同一个,其中有两个服务器启动时正常,只要访问就报错如下:Could not open JDBC Connection for transaction;最终排查是因为服务器默认安装的是openJDK低版本(1.8.3xxxxx),而项目需要的是(jdk1.8.9xxxxx)原创 2023-06-14 08:37:35 · 4543 阅读 · 0 评论 -
报错“Host is blocked because of many connection errors”处理
当客户端连接服务端超时(超过connect_timeout), 服务端就会给这个客户端记录一次error,当出错的次数达到max_connect_errors的时候,这个客户端就会被锁定。所以根据业务来尽量把这个值设置大一点,mysql默认值为100,我们可以根据具体需要设置大一点,这里设置为1000.(并非越大越好,越大被攻击时安全性越低)。到这一步,就解决了问题了。提高允许的max_connection_errors数量,首先查看该属性设置为多大。命令,输入密码后,即完成清楚缓存。原创 2024-02-23 09:05:04 · 4510 阅读 · 1 评论 -
【数据类型映射】
原创 2022-01-11 16:33:03 · 465 阅读 · 0 评论