最近遇到mysql数据库报错:ERROR 1030 (HY000): Got error 28 from storage engine的问题,这个问题是由于Mysql临时空间目录下可以空间不足造成的,折腾了好久,现在记录一下完整过程
1)查看Mysql临时空间目录
命令行连接Mysql后执行以下命令:
show variables like '%dir%';
出现以下界面:
basedir | /usr/local/mysql |
| binlog_direct_non_transactional_updates | OFF |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
| datadir | /xx/mysql/var/ |
| innodb_data_home_dir | /xxG/msql/var |
| innodb_log_group_home_dir | /xx/mysql/var |
| innodb_max_dirty_pages_pct | 75 |
| lc_messages_dir | /usr/local/mysql/share/ |
| plugin_dir | /usr/local/mysql/lib/plugin/ |
| slave_load_tmpdir | /tmp |
| tmpdir | /tmp
其中“tmpdir”代表Mysql的临时空间目录,在上文中可以看出Mysql的临时空间目录是/tmp
2)查看临时空间目录下可用空间
执行以下代码:
du -sh /tmp
会显示出临时空间目录下剩余空间(我的空间只剩8.5M。。。)
3)修改临时空间目录
(1)停止Mysql服务
service mysql stop
还有其他几种停止Mysql服务的方法,但是这种方法最快。
(2)修改mysql配置文件
在/etc/my.conf文件中修改目录,添加以下一行
tmpdir = /xx/tmp
同时我修改了/etc/my.conf文件中的datadir路径,使其指向可用空间充足的目录
(3)启动Mysql服务
service mysql start
参考:https://blog.youkuaiyun.com/weixin_33717117/article/details/91638731
这篇博客记录了解决MySQL错误1030的具体步骤。问题起因是MySQL临时空间目录空间不足。首先,通过命令行检查MySQL的临时目录,发现是'/tmp'。接着,使用'du -sh /tmp'确认空间不足。然后,通过修改'/etc/my.cnf'配置文件,将'tmpdir'指向新的临时目录,并调整'datadir'到有足够空间的位置。最后,重启MySQL服务解决问题。
4216

被折叠的 条评论
为什么被折叠?



