如果你使用MySQL,你可能會(huì)遇到一個(gè)錯(cuò)誤,它會(huì)提示“錯(cuò)誤代碼:1290”。這個(gè)錯(cuò)誤是關(guān)于“read-only”模式的,下面我們來看看它的具體解釋和解決方案。
當(dāng)你的MySQL處于“read-only”模式時(shí),你將無法編輯或更改數(shù)據(jù)庫。這通常是由于權(quán)限問題或其他配置錯(cuò)誤導(dǎo)致的。
在解決這個(gè)問題之前,你需要首先確認(rèn)數(shù)據(jù)庫服務(wù)器的狀態(tài)。你可以使用以下命令檢查:
mysql>status;
如果你看到下面的輸出,那么你的數(shù)據(jù)庫已經(jīng)處于“read-only”模式了:
mysql>status; -------------- mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper Connection id: 63 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 1 hour 5 min 22 sec Threads: 2 Questions: 64 Slow queries: 0 Opens: 123 Flush tables: 1 Open tables: 116 Queries per second avg: 0.015 --------------
接下來,你需要在MySQL啟動(dòng)時(shí)使用特殊的標(biāo)志以解決這個(gè)問題。在命令行中輸入以下命令:
mysqld --skip-grant-tables --user=mysql &
這將啟動(dòng)MySQL,并且繞過權(quán)限檢查。接下來,你需要更新“mysql.user”表中的權(quán)限并重新啟動(dòng)MySQL:
mysql>UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE user='root'; mysql>FLUSH PRIVILEGES; mysql>exit;
現(xiàn)在你可以重新啟動(dòng)MySQL,并且“read-only”模式已經(jīng)被解除了。如果你仍然遇到問題,建議檢查mysql.log文件以獲取更多幫助。
上一篇mysql 136