mysql數(shù)據(jù)庫不小心還原了需要按照以下步驟恢復(fù)。
昭陽ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
1、先確認(rèn)MYSQL有沒有啟用bin日志?,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,?可以?自定義一個目錄和前綴名,比如/data/log/mylog這樣。
2、然后在數(shù)據(jù)庫文件存放的data目錄就能看到mysql-bin.00000x這樣的文件,這就是二進(jìn)制日志了,可以導(dǎo)出成txt格式的,里面其實就是對數(shù)據(jù)庫的各種操作SQL語句。
3、導(dǎo)出txt文件:
E:\wamp\bin\mysql\mysql5.6.12\binmysqlbinlog --database=testdatabase E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000312 C:\\test1.txt
這是WINDOWS下的導(dǎo)出,linux也是類似的。
database=數(shù)據(jù)庫名
從最早的日志還始還原
linux下可以很方便的?mysql-bin.000*
可以加參數(shù)開始時間和結(jié)束時間,就是你執(zhí)行那條SQL語句的時間
start-datetime="2014-12-04 11:25:56" --stop-datetime="2014-12-04 13:23:50"
4、恢復(fù)數(shù)據(jù):
E:\wamp\bin\mysql\mysql5.6.12\binmysqlbinlog --database=yundongchao E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000179 | mysql -u root -p
------------------------------------------------
一、Can’t connect to MySQL server on ‘localhost’ (10061)
翻譯:不能連接到 localhost 上的mysql
分析:這說明“l(fā)ocalhost”計算機(jī)是存在的,但在這臺機(jī)器上卻沒提供MySQL服務(wù)。
需要啟動這臺機(jī)器上的MySQL服務(wù),如果機(jī)子負(fù)載太高沒空相應(yīng)請求也會產(chǎn)生這個錯誤。
解決:既然沒有啟動那就去啟動這臺機(jī)子的mysql。如果啟動不成功,多數(shù)是因為你的my.ini配置的有問題。重新配置其即可。
如果覺得mysql負(fù)載異常,可以到mysql/bin 的目錄下執(zhí)行mysqladmin -uroot -p123 processlist來查看mysql當(dāng)前的進(jìn)程。
二、Unknown MySQL Server Host ‘localhosadst’ (11001)
翻譯:未知的MySQL服務(wù)器 localhosadst
分析:服務(wù)器 localhosasdst 不存在?;蛘吒緹o法連接
解決:仔細(xì)檢查自己論壇下面的 ./config.inc.php 找到$dbhost重新設(shè)置為正確的mysql 服務(wù)器地址。
三、Access denied for user: ‘roota@localhost’ (Using password: YES)
翻譯:用戶 roota 訪問 localhost 被拒絕(沒有允許通過)
分析:造成這個錯誤一般數(shù)據(jù)庫用戶名和密碼相對mysql服務(wù)器不正確
解決:仔細(xì)檢查自己論壇下面的 ./config.inc.php 找到$dbuser、$dbpw核實后重新設(shè)置保存即可。
四、Access denied for user: ‘red@localhost’ to database ‘newbbs’
翻譯:用戶 red 在localhost 服務(wù)器上沒有權(quán)限操作數(shù)據(jù)庫newbbs
分析:這個提示和問題三是不同的。那個是在連接數(shù)據(jù)庫的時候就被阻止了,而這個錯誤是在對數(shù)據(jù)庫進(jìn)行操作時引起的。比如在select update等等。這個是因為該用戶沒有操作數(shù)據(jù)庫相應(yīng)的權(quán)力。比如select 這個操作在mysql.user.Select_priv里記錄 Y 可以操作N 不可以操作。
解決:如果是自己的獨(dú)立主機(jī)那么更新mysql.user 的相應(yīng)用戶記錄,比如這里要更新的用戶為red ?;蛘咧苯有薷?./config.inc.php 為其配置一個具有對數(shù)據(jù)庫操作權(quán)限的用戶
或者通過如下的命令來更新授權(quán)grant all privileges on dbname.* to ‘user’@’localhost’ identified by ‘password’
提示:更新了mysql庫中的記錄一定要重啟mysql服務(wù)器才能使更新生效
FLUSH PRIVILEGES;
五、No Database Selected
翻譯:沒有數(shù)據(jù)庫被選擇上
分析:產(chǎn)生的原因有兩種
config.inc.php 里面$dbname設(shè)置的不對。致使數(shù)據(jù)庫根本不存在,所以在 $db-select_db($dbname); 時返回了false
和上面問題四是一樣的,數(shù)據(jù)庫用戶沒有select權(quán)限,同樣會導(dǎo)致這樣的錯誤。當(dāng)你發(fā)現(xiàn)config.inc.php的設(shè)置沒有任何問題,但還是提示這個錯誤,那一定就是這種情況了。
解決:對癥下藥
打開config.inc.php 找到$dbname核實重新配置并保存
同問題四的解決方法
六、Can’t open file: ‘xxx_forums.MYI’. (errno: 145)
翻譯:不能打開xxx_forums.MYI
問題分析:
這種情況是不能打開 cdb_forums.MYI 造成的,引起這種情況可能的原因有:
1、服務(wù)器非正常關(guān)機(jī),數(shù)據(jù)庫所在空間已滿,或一些其它未知的原因,對數(shù)據(jù)庫表造成了損壞。
2、類 unix 操作系統(tǒng)下直接將數(shù)據(jù)庫文件拷貝移動會因為文件的屬組問題而產(chǎn)生這個錯誤。
解決方法:
1、修復(fù)數(shù)據(jù)表
可以使用下面的兩種方式修復(fù)數(shù)據(jù)表:(第一種方法僅適合獨(dú)立主機(jī)用戶)
1)使用 myisamchk ,MySQL 自帶了專門用戶數(shù)據(jù)表檢查和修復(fù)的工具 —— myisamchk 。更改當(dāng)前目錄到 MySQL/bin 下面,一般情況下只有在這個下面才能運(yùn)行 myisamchk 命令。常用的修復(fù)命令為:myisamchk -r 數(shù)據(jù)文件目錄/數(shù)據(jù)表名.MYI;
2)通過 phpMyAdmin 修復(fù), phpMyAdmin 帶有修復(fù)數(shù)據(jù)表的功能,進(jìn)入到某一個表中后,點(diǎn)擊“操作”,在下方的“表維護(hù)”中點(diǎn)擊“修復(fù)表”即可。
注意:以上兩種修復(fù)方式在執(zhí)行前一定要備份數(shù)據(jù)庫。
簡單情況下:進(jìn)入原來mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫和ibdata1,進(jìn)行copy,就可回復(fù)原來的數(shù)據(jù)。
復(fù)雜情況下:
從另一臺機(jī)上把MySQL數(shù)據(jù)庫的mysql文件夾拷貝到本地機(jī)上,目的是恢復(fù)本地機(jī)對數(shù)據(jù)的訪問和操作。經(jīng)過如下幾種情況的操作。
1.
在本地重裝MySQL(安裝目錄D:\Program
Files\MySQL\MySQL
Server
5.0),直接把mysql文件夾拷貝至D:\Program
Files\MySQL\MySQL
Server
5.0\。結(jié)果,失?。簲?shù)據(jù)庫連接錯誤。
2.
卸載后重裝MySQL,將D:\Program
Files\MySQL\MySQL
Server
5.0\下的數(shù)據(jù)備份,只把mysql\data文件夾全部內(nèi)容拷貝到D:\Program
Files\MySQL\MySQL
Server
5.0\data下。結(jié)果,失敗:數(shù)據(jù)庫連接錯誤。將備份的數(shù)據(jù)還完覆蓋。結(jié)果,失敗,還是連接不上數(shù)據(jù)庫。
3.
卸載后重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的數(shù)據(jù)庫)拷貝進(jìn)D:\Program
Files\MySQL\MySQL
Server
5.0\data。連接成功,在Navicat
for
MySQL里看到數(shù)據(jù)庫cf1和last,但是不能訪問,因為數(shù)據(jù)全為零。明白了原來data里以數(shù)據(jù)庫命名的文件存儲的是數(shù)據(jù)庫的表結(jié)構(gòu),不是元數(shù)據(jù)。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數(shù)據(jù))拷貝到D:\Program
Files\MySQL\MySQL
Server
5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat
for
MySQL,連接成功,數(shù)據(jù)可以訪問操作。
至此,操作終于成功。其實當(dāng)初在那臺機(jī)上把數(shù)據(jù)導(dǎo)出來,而不是現(xiàn)在直接把文件夾mysql復(fù)制過來會更容易恢復(fù)。但那臺機(jī)已經(jīng)重裝了系統(tǒng),也就是說MySQL失效了。
網(wǎng)站題目:mysql恢復(fù)錯了怎么辦,mysql打錯了怎么辦
瀏覽路徑:http://jinyejixie.com/article22/hsipjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、云服務(wù)器、網(wǎng)站內(nèi)鏈、微信小程序、Google、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)