mysqldump: Error: ‘Can’t create/write to file ‘/var/tmp/#xxxx.MAI’ (Errcode: 13)’ when trying to dump tablespaces

mysqldump -uxxxx -p test >test_20210830.sql

Mariadb DB导出备份报错:
[root@host-03-centos backup]# !mysqld
mysqldump -utest -p test > test_20210826.sql
Enter password:
mysqldump: Error: ‘Can’t create/write to file ‘/var/tmp/#sql_6a1e_2.MAI’ (Errcode: 13)’ when trying to dump tablespaces
mysqldump: Couldn’t execute 'show fields from archive': Can’t create/write to file ‘/var/tmp/#sql_6a1e_0.MAI’ (Errcode: 13) (1)

登录数据库查看tmp目录:
MariaDB [(none)]> show variables like ‘%tmp%%’;
±------------------±---------+
| Variable_name | Value |
±------------------±---------+
| max_tmp_tables | 32 |
| slave_load_tmpdir | /var/tmp |
| tmp_table_size | 16777216 |
| tmpdir | /var/tmp |
±------------------±---------+
查看/var/tmp的目录属性
ls -al /var/
drwxrwxrwx. 5 mysql mysql 4096 3月 17 16:24 tmp

根据报错信息执行show语句,也是Errcode:13
MariaDB [test]> show fields from archive;
ERROR 1 (HY000): Can’t create/write to file ‘/var/tmp/#sql_6a1e_0.MAI’ (Errcode: 13)
MariaDB [test]>
MariaDB [test]> exit

以为是selinux影响了,getenforce查看一下,selinux是关闭的:
getenforce
Disabled

目录权限是对的,数据库可以正常读写,就是mysqldump不行。

查看mysqldump出来的文件:
cat test_20210830.sql
DROP TABLE IF EXISTS archive;
/*!40101 SET @saved_cs_client = @@character_set_client /;
/
!40101 SET character_set_client = utf8 /;
CREATE TABLE archive (
id int(11) NOT NULL AUTO_INCREMENT,
createdAt bigint(20) DEFAULT NULL,
fromModel varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
originalRecord longtext COLLATE utf8_unicode_ci,
originalRecordId longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (id),
UNIQUE KEY id (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/
!40101 SET character_set_client = @saved_cs_client */;

到这个表就中断了(其实是导出文件的第一个表)

登录MariaDB
MariaDB [test]> show tables;
±-----------------+
| Tables_in_test |
±-----------------+
| archive |
| article |
| user |
±-----------------+
6 rows in set (0.00 sec)

MariaDB [test]> select * from archive;
Empty set (0.00 sec)
没有数据
MariaDB [test]> show create table archive;
也能正常返回表结构

还没找到原因,有空再看看什么问题,找到解决办法了再更新这个文章。

2021-08-30

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐