登陆mysql后,输入:
show variables like '%secure%';
显示的secure_file_priv如果value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件(测试子目录也不行),如果为空,则不限制目录;
修改配置可修改mysql配置文件my.cnf,查看是否有
secure_file_priv =
这样一行内容,如果没有,则手动添加,
secure_file_priv = /home
表示限制为/home文件夹
secure_file_priv =
表示不限制目录,等号一定要有,否则mysql无法启动
修改完配置文件后,重启mysql生效。
后
SELECT * FROM tab_name INTO OUTFILE '/设置的目录/test.txt';
表中数据就导出完成了。
此方法对于有中文和空字符的表导出后内容格式很不友好,当导入会引入很多麻烦的问题和报错。
所以可以这样导出:
mysqldump -u -p databaseName tab_name -t >/设置的目录/test.sql
-t是不导出create 信息。
导出后,将文件中的未注释的SET信息都删除。
然后导入时,可以先清空表:
truncate table tab_name ;
然后直接:
mysql -u -p databaseName </设置的目录/test.sql
就完成了。