手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

mysqldump: Got error: 1290及secure-file-priv option 解决方法

[日期:2017-08-13] 来源:Linux社区  作者:Linux [字体: ]

今天有个网友问,在用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

linux
相关资讯       mysqldump 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款