共计 2080 个字符,预计需要花费 6 分钟才能阅读完成。
今天有个网友问,在用 MySQLdump 备份时候遇到 1290 的错误
下面是是我模拟他的报错信息
[root@potato Desktop]# mysqldump -uroot -proot -S /tmp/mysql.sock –tab=/data/mysql/mytest_3306/data/backup lala
Warning: Using a password on the command line interface can be insecure.
mysqldump: Got error: 1290: The MySQL server is running with the –secure-file-priv option so it cannot execute this statement when executing ‘SELECT INTO OUTFILE’
可以很清楚地从提示看到是因为 mysql 服务启用了 –secure-file-priv,所以才无法执行。
那么 –secure-file-priv 又是什么东东,应该如何解决才能是它可以备份呢?
–secure-file-priv=name:
Limit LOAD DATA, SELECT … OUTFILE, and LOAD_FILE() to files within specified directory
可以看到 secure-file-priv 参数是用来限制 LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
当 secure_file_priv 的值为 null,表示限制 mysqld 不允许导入 | 导出
当 secure_file_priv 的值为 /tmp/,表示限制 mysqld 的导入 | 导出只能发生在 /tmp/ 目录下
当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入 | 导出做限制
查看数据库当前该参数的值
root@localhost:mysql.sock 00:14:52 [(none)]>show global variables like ‘%secure%’;
+——————+——-+
| Variable_name | Value |
+——————+——-+
| secure_auth | ON |
| secure_file_priv | NULL |
+——————+——-+
2 rows in set (0.00 sec)
清楚地看到 secure_file_priv 的值是 NULL,说明此时限制导入导出的
所以应该改变该参数
可是查看了 mysql.cnf 中居然没有对这个参数进行设定,就说明这个参数默认便是 null
所以再 mysql.cnf 中的 [mysqld] 加入 secure_file_priv =
再重启 mysql 服务
然后再查一下此时参数的值
root@localhost:mysql.sock 00:28:30 [(none)]>show global variables like ‘%secure%’;
+——————+——-+
| Variable_name | Value |
+——————+——-+
| secure_auth | ON |
| secure_file_priv | |
+——————+——-+
2 rows in set (0.00 sec)
已经是我们要的结果
开始进行导出
[root@potato Desktop]# mysqldump -uroot -proot -S /tmp/mysql.sock –tab=/data/mysql/mytest_3306/data/backup lala
Warning: Using a password on the command line interface can be insecure.
可以看到成功了
使用 mysqldump 进行 MariaDB 的备份 http://www.linuxidc.com/Linux/2015-07/120294.htm
使用 mysqldump 导出数据库 http://www.linuxidc.com/Linux/2014-10/108192.htm
基于 mysqldump 快速搭建从库 http://www.linuxidc.com/Linux/2015-04/116170.htm
恢复 mysqldump 创建的备份集 http://www.linuxidc.com/Linux/2015-02/113631.htm
使用 mysqldump 命令行工具创建逻辑备份 http://www.linuxidc.com/Linux/2015-02/113629.htm
mysqldump 实现数据库逻辑备份 http://www.linuxidc.com/Linux/2015-08/121551.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146186.htm