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

主要是免费!

相关推荐
阿蒙Amon2 小时前
C# Linq to SQL:数据库编程的解决方案
数据库·c#·linq
互联网搬砖老肖6 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
典学长编程7 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
积跬步,慕至千里7 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室8 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
星辰离彬8 小时前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
白仑色8 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D9 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
钢铁男儿10 小时前
C# 接口(什么是接口)
java·数据库·c#
__风__11 小时前
PostgreSQL kv(jsonb)存储
数据库·postgresql