解決MySql error #1036 Table is read only 錯誤方法

來源:互聯網
上載者:User

這次網站搬家採用直接打包mysql資料庫和網頁檔案的形式進行遷移,上傳好mysql data目錄裡面的網站資料庫至VPS上mysql存放資料庫的目錄裡面,解壓就行。我的VPS存放資料庫的路徑是 /usr/local/mysql/var。
上傳好網站資料,解壓,配置好資料庫連結參數就行,網站就能正常串連上了,我本以為這已經是順利遷移完成了,但後來操作的時候,發現只能讀取資料庫的內容,不能更改寫入任何資訊,提示#1036 – Table ‘* ‘ is read only (*號為任意表),也就是說表只有唯讀屬性。
通過SSH,給資料庫檔案777許可權,dedeadmin是我的資料庫檔案夾

chmod -R 0777 /usr/local/mysql/var/dedeadmin/

給資料庫目錄的所屬使用者和組改為MySQL

chown -R mysql:mysql dedeadmin

但是這樣還不能更改資料庫,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 裡面,還需要運行以下命令:

./mysqladmin -u root -p flush-tables

之後輸入root帳號的密碼,馬上就好了,沒有任何任何提示,然後測試一下,能正常讀寫,搬家也就順利完

-----------

linux中解決辦法

1. 找到資料庫檔案放置的目錄,如/usr/local/mysql/var/xx

2. 更改此資料庫下所有檔案的所有權:chown mysql.mysql *.*

3. 關閉mysql:killall mysqld

4. 開啟mysql:進入mysql的bin目錄,運行 ./mysqld_safe --user=mysql &

------------

前幾天我把一個系統掛到伺服器上,資料庫出現了如下的錯誤提示

#1036 - Table ' ' is read only

 我把網站傳到伺服器上,把備份的資料庫檔案放到/usr/local/mysql/var下面之後,訪問某個表時出現許可權的問題,後來把資料庫的許可權改為777,把資料庫目錄的所屬使用者和組改為MySQL,錯誤依然存在。我採用了一下的方法解決了問題。

首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin下面。步驟如下:

#cd   /usr/local/mysql/bin

#./mysqladmin -u root -p flush-tables

然後輸入你的資料庫密碼,沒有任何的錯誤提示,說明你成功了

如果是linux可如下操作

nux下MySQL出現問題,提示mysql error #1036 - Table 'xxxx' is read only

解決方案:

1. 找到資料庫檔案放置的目錄,如/usr/local/mysql/var/xx

2. 更改此資料庫下所有檔案的所有權:chown mysql.mysql *.*

3. 關閉mysql:killall mysqld

4. 開啟mysql:進入mysql的bin目錄,運行 ./mysqld_safe --user=mysql &

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.