1.查看数据库配置的导出路径: secure_file_priv为导出路径
mysql> show variables like '%secure%';
+--------------------------+-----------------------+
| Variable_name | Value |
+--------------------------+-----------------------+
| require_secure_transport | OFF |
| secure_auth | ON |
| secure_file_priv | /var/lib/mysql-files/ |
+--------------------------+-----------------------+
rows in set (0.00 sec)
如果secure_file_priv为null则可以使用
mysqldump -uzksh_kf -p zksh second_function_menu > second_function_menu.sql
mysqldump -u用户名 -p 库名 表面 > 保存的文件名称(文件保存的的路径为当前使用命令的路径)
2.导出语句中的导出路径为上面查询到的secure_file_priv的路径
mysql> select * from table into outfile '/var/lib/mysql-files/test.xls';
into outfile 为数据导出的路径,这个就是第一步查询到的路径,导出的数据必须是这个值的指定路径才可以导出,默认有可能是NULL就代表禁止导出,所以需要设置一下;我们需要在/etc/mysql/mysql.conf.d/mysqld.cnf 文件的末尾进行设置,在末尾添加一句secure_file_priv="/"即可将数据导出到任意目录;
secure_file_priv
1、限制mysqld 不允许导入 | 导出
secure_file_prive=null
2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下
secure_file_priv=/tmp/
3、不对mysqld 的导入 | 导出做限制
secure_file_priv
4、可以导出至任意目录
secure_file_priv="/"
3.导出没有按导出路径一般报错
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement