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

主要是免费!

相关推荐
SkyWalking中文站3 小时前
BanyanDB 0.11.0:新特性与升级指南
数据库
₍˄·͈༝·͈˄*₎◞ ̑̑码4 小时前
MyBatis操作数据库
数据库·mybatis
刃神太酷啦6 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
丁丁点灯o6 小时前
Oracle中使用外键的场景及不适用外键的情况
数据库·oracle
天天进步20156 小时前
Pixelle-Video 源码解析 #18:声音克隆功能:参考音频如何影响解说效果?
数据库·音视频
不懂的浪漫7 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库
布莱克6057 小时前
Redis 详解:从核心数据结构到高可用架构
数据库
冰暮流星8 小时前
mysql之左外连接与右外连接
数据库·sql
jyOverQ8 小时前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
没文化的阿浩8 小时前
【MySQL】用户管理
android·mysql·adb