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 比较,差的远了。

主要是免费!

相关推荐
kirs_ur18 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
是三一seven19 小时前
Sql注入基础
数据库·安全·网络安全
Sirens.19 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql
字节跳动开源20 小时前
火山引擎开源 Agent 驱动的搜索自迭代技术
数据库·开源·agent
Oo大司命oO1 天前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
_oP_i1 天前
mysql统计数据库使用存储大小
数据库
会编程的土豆1 天前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
jjjava2.01 天前
系统日志:从入门到精通的完整指南
网络·数据库
写代码的强哥1 天前
云原生数据库与传统数据库相比“新”在哪里
数据库·云原生·架构