這兩天在進行網(wǎng)站搬家,這次網(wǎng)站搬家采用直接打包mysql數(shù)據(jù)庫和網(wǎng)頁文件的形式進行遷移,上傳好mysql data目錄里面的網(wǎng)站數(shù)據(jù)庫至VPS上mysql存放數(shù)據(jù)庫的目錄里面,解壓就行。我的VPS存放數(shù)據(jù)庫的路徑是 /usr/local/mysql/var。
上傳好網(wǎng)站數(shù)據(jù),解壓,配置好數(shù)據(jù)庫鏈接參數(shù)就行,網(wǎng)站就能正常連接上了,我本以為這已 經(jīng)是順利遷移完成了,但后來操作的時候,發(fā)現(xiàn)只能讀取數(shù)據(jù)庫的內(nèi)容,不能更改寫入任何信息,提示#1036 – Table ‘* ‘ is read only (*號為任意表),也就是說表只有只讀屬性。
通過SSH,給數(shù)據(jù)庫文件777權(quán)限,admin是我的數(shù)據(jù)庫文件夾
1
|
1、 chmod -R 0777 /usr/local/mysql/var/admin/ |
給數(shù)據(jù)庫目錄的所屬用戶和組改為MySQL
1
|
2、 chown -R mysql:mysql admin |
但是這樣還不能更改數(shù)據(jù)庫,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,還需要運行以下命令:
1
|
3、 ./mysqladmin -u root -p flush-tables |
之后輸入root賬號的密碼,馬上就好了,沒有任何任何提示,然后測試一下,能正常讀寫,搬家也就順利完成。