以前按照官网的手册,已经有了menagerie数据库(database),里面包含pet表(table),以下图:html
导出数据到txt文件中:mysql
SELECT * FROM pet INTO OUTFILE 'C:/Users/idy/Desktop/backup.txt';
结果以下:sql
缘由及解决方法:数据库
因为--secure-file-priv变量的设置致使不容许mysql数据导出。安全
在C:\ProgramData\MySQL\MySQL Server 5.7路径下找到并打开my.ini文件,找到secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"将其注销掉,而后重启mysql数据库,这个问题就解决了。spa
使用SHOW VARIABLES LIKE "secure_file_priv";命令查看secure-file-priv的value值(默认状况下Value为路径C:\ProgramData\MySQL\MySQL Server 5.7\Uploads).net
从新导出:code
在桌面上新建了backup.txt后从新导出:htm
依然没有建立和写文件的权限~~~~(>_<)~~~~不成功io
以上内容的问题最终都是由于mySQL读写本地文件的权限。个人mySQL中途由于未知缘由致使不能启动,我又从新进行了按照,以前的表已经没有了。当我从新再打开个人数据库的时候,发现解决上面的问题比我想象的要简单的多:
实际上secure_file_priv这个安全属性已经设置了路径,以下图:
只须要将咱们导文件的路径设置成secure_file_priv对于的Value值就能够了,在C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\路径下面,符合secure_file_priv的安全配置,同时拥有文件读写权限。固然咱们应该也能够修改my.ini文件中secure_file_priv的路径。结果以下图(随便找了张表导出来):
参考: