今天测试select ...into outfile备份工具,发现如下报错:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
截图如下:
出现这个错误是因为没有给数据库指定写出文件的路径或者写出的路径有问题。
首先使用下面的命令 show variables like '%secure%'; 查看数据库的存储路径。如果查出的 secure_file_priv 是 null 的时候就证明在 my.ini 文件里面没有配置写出路径。
secure_file_priv 参数是一个只读参数,
需要修改my.cnf文件:
这时候就可以在 mysql.ini 文件的 [mysqld] 代码下增加 secure_file_priv=/tmp 再重启 mysql 就可以了。然后在导出的地址下面写上刚才配置的这个地址,执行备份 select * from t2 into outfile "/tmp/a.txt";就可以了。
ok,备份成功。
测试数据恢复:
恢复成功。