在使用MySQL備份數據時,可能會遇到錯誤1290。這個錯誤通常會提示您沒有足夠的權限執行此操作。
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
這個錯誤的原因是因為MySQL通過--secure-file-priv選項限制了可以導出數據的文件夾。這意味著,如果您嘗試將備份文件導出到一個沒有權限的文件夾中,就會遇到這個錯誤。
為了解決這個問題,您需要在MySQL配置中更改--secure-file-priv選項。這個選項指定可以保存導出文件的文件夾。
shell>mysql -u root -p mysql>SHOW VARIABLES LIKE "secure_file_priv"; +------------------+-----------------------+ | Variable_name | Value | +------------------+-----------------------+ | secure_file_priv | /var/lib/mysql-files/ | +------------------+-----------------------+ 1 row in set (0.00 sec)
可以看到,如果你試圖保存數據到/var/lib/mysql-files/目錄下會隨之發生錯誤。所以,更改它,使其指向您想要保存文件的文件夾,比如/home/backup/。
mysql>SET GLOBAL secure_file_priv = '/home/backup/'; Query OK, 0 rows affected (0.00 sec) mysql>SELECT @@secure_file_priv; +----------------+ | @@secure_file_priv | +----------------+ | /home/backup/ | +----------------+ 1 row in set (0.00 sec)
在經過這些更改后,再次將導出文件保存到文件夾中,就可以正常完成備份數據的操作了。