Mysql 数据库 超时和锁定

问题昨天项目中遇到部分服务一直是pending状态,排查了代码和重启了服务都没能解决问题,于是从数据库开始排查。尝试着执行select 对应的表, 果然,超时了,最后 通过排查 processlist ,找到阻塞的线程id, kill掉,零时解决了问题数据库服务不能直接重启,万一会有其它可能性的问题,停了就起不来了,整个服务都挂了。现在来复盘下问题的原因。复盘锁超时测试表 test ,分别执行两个...阅读全文
209次浏览 0 条评论 0次感谢

Mysql json 数据查询

Json 类型简介MySQL 5.7 之后提供了Json类型,是MySQL 结合结构化存储和非结构化存储设计出来的一个类型。在某些场景下,Json 类型简直是福音。假定表结构如下:|id|data||-|-||1|{'name':'李磊','age':28}||2|{'name':'张磊','age':38}|一维json查询利用函数select * from user where json_ex...阅读全文
444次浏览 0 条评论 0次感谢

CentOS 8 安装MySQL 8.0

安装MySQL8.0sudo dnf install mysql-server开机启动安装完成后,运行以下命令来启动MySQL服务并使它在启动时自动启动:sudo systemctl enable --now mysqld要检查MySQL服务器是否正在运行,请输入:sudo systemctl status mysqld添加密码及安全设置运行mysql_secure_installation脚本,...阅读全文
262次浏览 0 条评论 0次感谢

Mysql ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value

mysql 错误ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value经过查证,这个原因是MySql编码的问题。UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。1:找到my.cnfsudo find / -name my.cnf2:修改编码方...阅读全文
321次浏览 0 条评论 0次感谢

mysql 安装和使用

Mysql 安装和使用查看Linux版本cat /etc/*releasemysql57-community-release-el7.rpm57代表mysql版本为5.7el7代表Linux版本为7(列表没有7.6版本的,选择大版本)mysql80-community-release-el7.rpm80代表mysql版本为8.0下载/安装 mysql 源查看本地源ls /etc/yum.repos...阅读全文
1628次浏览 0 条评论 2次感谢