mysql中Table is read only的解決方法小結(jié)
更新時間:2013年01月20日 23:15:37 作者:
本文章總結(jié)了關(guān)于在linux與windows中 mysql出現(xiàn)Table is read only解決辦法總結(jié),有需要的朋友可參考一下
如果是使用中的數(shù)據(jù)庫突然出現(xiàn)些類問題
在Linux下面執(zhí)行下面命令就可以了,當(dāng)然你要找到你的mysql目錄
linux中
/usr/local/mysql/bin/mysqladmin -u root -p flush-tables
windows中
可以在cmd中執(zhí)行l(wèi)ush-tables
也可以在phpmyadmin 直利用修復(fù)表進行修改
如果是導(dǎo)入還原數(shù)據(jù)
,所以將該數(shù)據(jù)庫文件夾下面所有表文件chmod成777,chown成”_mysql”,但這次問題更嚴(yán)重,drupal里面現(xiàn)實table crached。沒辦法,馬上Google,發(fā)現(xiàn)其實解決起來挺容易的。
首先,找到mysqladmin所在位置,一般都在mysql/bin下面,然后運行一下命令:
./mysqladmin -u root -p flush-tables
之后輸入root賬號的密碼,馬上就好了,沒有任何任何提示,重新打開drupal,一切正常。
通過這次,也找到了數(shù)據(jù)庫文件的正確權(quán)限設(shè)置:data下面數(shù)據(jù)庫文件夾700,表文件660,所有文件都應(yīng)owned by mysql。
以下也是從window數(shù)據(jù)庫轉(zhuǎn)移到linux服務(wù)器出的問題
一個Discuz論壇,原來架在windows下,用的是GBK編碼,MYSQL版本是5.0的。
現(xiàn)在需要轉(zhuǎn)移到Linux下,我本來建議用mysqldump導(dǎo)出的方法,但同事希望直接用data目錄下的數(shù)據(jù)庫目錄。
那就先用移目錄的方式試下,在新服務(wù)器創(chuàng)建數(shù)據(jù)庫,然后將舊的目錄移過來。
在mysql中,Select之類的都正常,但在網(wǎng)頁程序中提示:Table 'cdb_posts' is read only
給數(shù)據(jù)庫目錄的所屬用戶和組改為mysql,并加上777的權(quán)限,還是一樣提示。
程序中使用root連接,也是一樣的提示。
想用myisamchk來檢查一下,也提示read only。
最終在這里找到了解決方法:http://www.mysqltalk.org/re-the-table-is-read-only-vt154092.html
引用
I just encountered a similar problem on one of my production servers
this morning. (I'm still investigating the cause.) After doing a
quick bit of Google-searching, this solved my problem:
mysqladmin -u <username> -p flush-tables
By the way: All directories in /var/lib/mysql should have 700
permissions (owned my the mysql user) and everything within those
directories should be 660 (owned by the mysql user and mysql group).
運行flush-tables后,read only問題解決:)
然后發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)和內(nèi)容還是有問題,用myisamchk查錯無效,后來用mysqldump導(dǎo),不過也還是碰到了一大堆問題,由于要轉(zhuǎn)的數(shù)據(jù)庫挺大,化了很長時間,最終沒有繼續(xù)下去。
了解了一些知識點,記錄一下:
就是mysql5導(dǎo)出的有default-charact的設(shè)置,mysql4不支持,需要加skip-opt參數(shù),如:
mysqldump -uroot -p --default-character-set=gbk -skip-opt databse > hx.sql
參考文章:Mysql 數(shù)據(jù)庫字符集轉(zhuǎn)換
最后找了臺mysql5的服務(wù)器,用mysqldump導(dǎo)出,mysql導(dǎo)入,一次成功!
發(fā)現(xiàn)用mysqldump導(dǎo)出一個表,300w多條記錄,用了才4分多鐘,每秒處理1w多記錄,快??!導(dǎo)入時,差不多用了十幾分鐘,每秒導(dǎo)入幾千條也很快了:)
在Linux下面執(zhí)行下面命令就可以了,當(dāng)然你要找到你的mysql目錄
linux中
復(fù)制代碼 代碼如下:
/usr/local/mysql/bin/mysqladmin -u root -p flush-tables
windows中
可以在cmd中執(zhí)行l(wèi)ush-tables
也可以在phpmyadmin 直利用修復(fù)表進行修改
如果是導(dǎo)入還原數(shù)據(jù)
,所以將該數(shù)據(jù)庫文件夾下面所有表文件chmod成777,chown成”_mysql”,但這次問題更嚴(yán)重,drupal里面現(xiàn)實table crached。沒辦法,馬上Google,發(fā)現(xiàn)其實解決起來挺容易的。
首先,找到mysqladmin所在位置,一般都在mysql/bin下面,然后運行一下命令:
復(fù)制代碼 代碼如下:
./mysqladmin -u root -p flush-tables
之后輸入root賬號的密碼,馬上就好了,沒有任何任何提示,重新打開drupal,一切正常。
通過這次,也找到了數(shù)據(jù)庫文件的正確權(quán)限設(shè)置:data下面數(shù)據(jù)庫文件夾700,表文件660,所有文件都應(yīng)owned by mysql。
以下也是從window數(shù)據(jù)庫轉(zhuǎn)移到linux服務(wù)器出的問題
一個Discuz論壇,原來架在windows下,用的是GBK編碼,MYSQL版本是5.0的。
現(xiàn)在需要轉(zhuǎn)移到Linux下,我本來建議用mysqldump導(dǎo)出的方法,但同事希望直接用data目錄下的數(shù)據(jù)庫目錄。
那就先用移目錄的方式試下,在新服務(wù)器創(chuàng)建數(shù)據(jù)庫,然后將舊的目錄移過來。
在mysql中,Select之類的都正常,但在網(wǎng)頁程序中提示:Table 'cdb_posts' is read only
給數(shù)據(jù)庫目錄的所屬用戶和組改為mysql,并加上777的權(quán)限,還是一樣提示。
程序中使用root連接,也是一樣的提示。
想用myisamchk來檢查一下,也提示read only。
最終在這里找到了解決方法:http://www.mysqltalk.org/re-the-table-is-read-only-vt154092.html
引用
I just encountered a similar problem on one of my production servers
this morning. (I'm still investigating the cause.) After doing a
quick bit of Google-searching, this solved my problem:
mysqladmin -u <username> -p flush-tables
By the way: All directories in /var/lib/mysql should have 700
permissions (owned my the mysql user) and everything within those
directories should be 660 (owned by the mysql user and mysql group).
運行flush-tables后,read only問題解決:)
然后發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)和內(nèi)容還是有問題,用myisamchk查錯無效,后來用mysqldump導(dǎo),不過也還是碰到了一大堆問題,由于要轉(zhuǎn)的數(shù)據(jù)庫挺大,化了很長時間,最終沒有繼續(xù)下去。
了解了一些知識點,記錄一下:
就是mysql5導(dǎo)出的有default-charact的設(shè)置,mysql4不支持,需要加skip-opt參數(shù),如:
mysqldump -uroot -p --default-character-set=gbk -skip-opt databse > hx.sql
參考文章:Mysql 數(shù)據(jù)庫字符集轉(zhuǎn)換
最后找了臺mysql5的服務(wù)器,用mysqldump導(dǎo)出,mysql導(dǎo)入,一次成功!
發(fā)現(xiàn)用mysqldump導(dǎo)出一個表,300w多條記錄,用了才4分多鐘,每秒處理1w多記錄,快??!導(dǎo)入時,差不多用了十幾分鐘,每秒導(dǎo)入幾千條也很快了:)
您可能感興趣的文章:
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- mysql error:#1062 Duplicate entry ‘***′ for key 1問題解決方法
- Mysql啟動中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的問題
- winxp 安裝MYSQL 出現(xiàn)Error 1045 access denied 的解決方法
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)問題的解決
- Linux下MySql 1036 錯誤碼解決(1036: Table ''xxxx'' is read only)
相關(guān)文章
Windows7 64位安裝最新版本MySQL服務(wù)器的圖文教程
本文通過圖文并茂的形式給大家介紹了Windows7 64位安裝最新版本MySQL服務(wù)器的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-06-06在sql中對兩列數(shù)據(jù)進行運算作為新的列操作
這篇文章主要介紹了在sql中對兩列數(shù)據(jù)進行運算作為新的列操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10MySQL為JSON字段創(chuàng)建索引方式(Multi-Valued?Indexes?多值索引)
這篇文章主要介紹了MySQL為JSON字段創(chuàng)建索引方式(Multi-Valued?Indexes?多值索引),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08MySQL?數(shù)據(jù)庫聚合查詢和聯(lián)合查詢操作
這篇文章主要介紹了MySQL?數(shù)據(jù)庫聚合查詢和聯(lián)合查詢操作,需要的朋友可以參考下2021-12-12Windows10下mysql 5.7.21 Installer版安裝圖文教程
這篇文章主要為大家詳細介紹了Windows10下mysql 5.7.21 Installer版安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09解決mysql報錯ERROR 1049 (42000): Unknown dat
對于錯誤代碼1049(42000):Unknown database ‘?dāng)?shù)據(jù)庫‘,這個錯誤通常表示您正在嘗試訪問一個不存在的數(shù)據(jù)庫,本文給出了解決方法,您可以按照文中步驟進行操作,需要的朋友可以參考下2024-01-01