我本以為這已經是順利遷移完成了,但后來操作的時候,發現只能讀取數據庫的內容,不能更改寫入任何信息,提示#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
- --Vevb.com
- #./mysqladmin -u root -p flush-tables
然后輸入你的數據庫密碼,沒有任何的錯誤提示,說明你成功了.
新聞熱點
疑難解答