MySQL 奇遇记三则

公司新项目,要使用 MySQL 数据库。

第一次使用 MySQL,有点小激动。听说过 N 多次,这一次终于用上了。

为什么是奇遇记?

因为在网上几乎搜索不到别人遇到和我一样的问题。

系统 :WINDOWS10X64 中文版

数据库:MySQL 8.0.25

奇遇记一:MySQL 安装

第一次安装、使用,没有什么问题。MySQL、ODBC,一切 OK;

有一天,我卸载了数据库,重新安装,死活安装不上。

经过九九八十一难,我终于发现,是我将操作系统改成了英文的原因。

WINDOWS10 切换界面语言,现在很方便。

由于我偶尔会编译一些开源的东东,需要将操作系统变成英文。

毕竟很多开源代码是老外写的,涉及到编码问题。将操作系统切换成英文,主要是省心。

不知道为什么会给 MySQL 安装带来问题。

当我将操作系统切换回中文后,重启(必须重启),再次安装,成功安装。

MySQL 官网上也没有所谓的多语言版本。MySQL 是个服务,也没有 UI 界面呀。

具体原因不清楚。反正问题解决了。

奇遇记二:truncate

truncate 是清空表的。正常情况下,速度都是很快的。毫秒级的。

项目数据库中有个存储过程,在数据库发布时,清空数据库中,一些表中的测试数据。很简单的存储过程。

SQL Server 中也这样使用。从来没有出现过问题。

但是,MySQL 中,这么一个简单的存储过程也会出问题。

truncate 在清空一些表时,速度会很慢。很慢很慢。清空 20 张表,需要 10 秒之久。

我在公司其它电脑上测试,也是如此。很慢。

我在技术论坛中,和其它人讨论,都说没有遇到这种问题。

我最后测试发现在一些高配置的笔记本电脑上,不会有这个问题。

公司的台式电脑一般配置都不高,个人笔记本相对高点。

在公司同事,几台高配置的笔记本上,测试,都没有此问题。配置低的笔记本,问题依旧。

确定是 MySQL 挑设备了。

关键是这些电脑用 SQL server 没有任何问题呀。

问题原因找到了。只能提高机器配置了。

奇遇记三:插入记录

有一天,突然发现正常运行很多天的一个插入记录代码,出错了。

错误日志:1026: Error writing file 'binlog' (errno: 2 - No such file or directory)

这肯定是数据库的问题,不是代码问题。

MySQL 官网的解释:

"pls check tmpdir directory is there or the disk usage,binlog cache size is allocate per thread,

if there is big txn that binlog cache already write full then it will flush to tmpdir,if tmpdir is full then you will receive above error."

翻译下:

"请检查 tmpdir 目录是否存在或磁盘使用情况,binlog 缓存大小是为每个线程分配的,

如果有大 txn binlog 缓存已经写满,那么它将刷新到 tmpdir,如果 tmpdir 已满那么您将收到上述错误。"

这得去折腾 MySQL 数据库了。

这就是所谓的调优了。网上关于 MySQL 调优的文章一大把。

MySQL 和 SQL server 比较,差的远了。

主要是免费!

相关推荐
JQLvopkk1 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon2 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛2 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员2 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·3 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户982863025684 小时前
pg内核实现细节
数据库
码界筑梦坊4 小时前
330-基于Python的社交媒体舆情监控系统
python·mysql·信息可视化·数据分析·django·毕业设计·echarts
飞升不如收破烂~4 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
workflower4 小时前
业务需求-假设场景
java·数据库·测试用例·集成测试·需求分析·模块测试·软件需求
亓才孓4 小时前
[JDBC]基于三层架构和MVC架构的JDBCTools
数据库