mysql #1062 –Duplicate entry '1' for key 'PRIMARY'


一般是因為數據表文件損害導致,可用MySQL的修復工具myisamchk 工具修復。
cmd
myisamchk cdb_posts.myi -r

方法一,直接在命令模式下修改

1、myisamchk

修復mysql數據庫,還有一個命令:mysqlcheck

mysqlcheck -a -c -o -r –all-databases -uroot -p //這條命令是即可最佳化所有db數據庫。

參數的意義如下:
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren’t unique

如果是在win主機下,修復指定的表,使用:mysqlcheck -o -r 數據庫名稱 -u root -p,在提示輸入密碼的框中,輸入mysql的root管理密碼,mysqlcheck即會對數據庫進行檢測修復

實例

使用 myisamchk 必須暫時停止 MySQL 服務器。例如,我們要檢修 discuz 數據庫。執行以下操作:
# service mysql stop (停止 MySQL );
# myisamchk -r /數據庫文件的絕對路徑/*MYI
# service mysql start
myisamchk 會自動檢查並修復數據表中的索引錯誤。

2、mysqlcheck

使用 mysqlcheck 無需停止 MySQL ,可以進行熱修復。操作步驟如下:# mysqlcheck -r discuz.*

注意,無論是 myisamchk 還是 mysqlcheck ,一般情況下不要使用 -f 強制修復,-f 參數會在遇到一般修復無法成功的時候刪除部分出錯數據以嘗試修復

方法二,利用phpmyadmin快速修改損壞mysql

1、登錄 phpMyAdmin,進入 phpMyAdmin 數據列表頁面;

myisamchk修復損壞的MySQL數據庫方法-mysql myisamchk

2、選擇一個數據表前的方框;

myisamchk修復損壞的MySQL數據庫方法-mysql數據庫表損壞

3、頁面下方“選中項”下拉選擇“修復表”;

myisamchk修復損壞的MySQL數據庫方法-mysql數據庫損壞 恢復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM