ibdata1 為MySQL的 存放數(shù)據(jù)的文件。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供斗門網(wǎng)站建設(shè)、斗門做網(wǎng)站、斗門網(wǎng)站設(shè)計(jì)、斗門網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、斗門企業(yè)網(wǎng)站模板建站服務(wù),10多年斗門做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在控制面板里已經(jīng)找不到,注冊表里的HEKY_LOCAL_MACHINE,SOFTWARE,mysql刪除了
1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目錄已刪除
2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目錄已刪除
3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目錄已刪除
這些我都刪除了,為什么我重啟后安裝還是出現(xiàn)“你已經(jīng)安裝了另一個(gè)版本的程序,請先在控制面板添加刪除程序中刪除”
可以是添加刪除程序里確實(shí)找不到這些東西了
問題補(bǔ)充 2008-12-02 16:22
我是在C:\WINDOWS\Installer里找到的,太郁悶了,稿半天隱藏了
在你從電腦里卸載舊的MYSQL數(shù)據(jù)庫服務(wù)時(shí),首先先在WINDOWS服務(wù)里停掉MYSQL的服務(wù)。再到控制面板里的增加刪除程序內(nèi)進(jìn)行刪除,但是你并不能完整的把MYSQL服務(wù)刪除,那么就要在注冊表里清除你的MYSQL服務(wù)。
有幾個(gè)地方:
1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目錄刪除
2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目錄刪除
3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目錄刪除
注冊表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之類,刪除的時(shí)候,都刪除就可以
檢查C:\WINDOWS目錄下是否有my.ini文件,將其刪除
如何正確的完全卸載MySQL
MySQL重新安裝的時(shí)候出現(xiàn)了問題:Could not start the service MySQL. Error:0,原因是沒有對舊的MySQL完全卸載掉。
在你從電腦里卸載舊的MYSQL數(shù)據(jù)庫服務(wù)時(shí),首先先在WINDOWS服務(wù)里停掉MYSQL的服務(wù)。再到控制面板里的增加刪除程序內(nèi)進(jìn)行刪除,但是你并不能完整的把MYSQL服務(wù)刪除,那么就要在注冊表里(regedit)清除你的MYSQL服務(wù)。有幾個(gè)地方:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目錄刪除;
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目錄刪除;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目錄刪除;
如下圖所示:
然后重啟電腦就可以了。
我怎么覺得你是想查看刪除的表呢?如果是表的話只有這么三種情況能恢復(fù)了
1 innodb引擎表開啟了事務(wù),執(zhí)行dml語句,比如delete、update、insert之類,并且沒有提交即commit操作的話,可以執(zhí)行rollback進(jìn)行回滾恢復(fù)。如果是ddl操作,如drop、create、alter之類的操作時(shí)無效的
2 在進(jìn)行刪除操作之前有備份,比如mysqldump,物理備份數(shù)據(jù)文件之類的操作,那么可以恢復(fù)到刪除前的數(shù)據(jù)
3 如果你的刪除操作是直接對data下的文件進(jìn)行刪除,注意,不是粉碎文件操作,那么你可以嘗試用磁盤恢復(fù)軟件來找回被誤刪的數(shù)據(jù)文件;
如果你沒開啟日志記錄,就準(zhǔn)備哭吧。
想要恢愎數(shù)據(jù)庫以前的資料,執(zhí)行mysqlshow binlog events;
由于數(shù)據(jù)量很多,查看起來很麻煩,光打開個(gè)文件就要閃半天,所以應(yīng)該適當(dāng)刪除部分可不用的日志。
并且如果使用的時(shí)間足夠長的話,會把我的硬盤空間都給吃掉
1、登錄系統(tǒng),/usr/bin/mysql
使用mysql查看日志
mysqlshow binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000001 | 150462942 |
| ablelee.000002 | 120332942 |
| ablelee.000003 | 141462942 |
+—————-+———–+
2、刪除bin-log(刪除ablelee.000003之前的而沒有包含ablelee.000003)
mysql purge binary logs to ′ablelee.000003′;
Query OK, 0 rows affected (0.16 sec)
3、查詢結(jié)果(現(xiàn)在只有一條記錄了)
mysql show binlog events\G
*************************** 1. row ***************************
Log_name: ablelee.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
1 row in set (0.01 sec)
(ablelee.000001和ablelee.000002已被刪除)
mysql show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000003 | 106 |
+—————-+———–+
1 row in set (0.00 sec)
(刪除的其它格式運(yùn)用!)
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
用于刪除列于在指定的日志或日期之前的日志索引中的所有二進(jìn)制日志。這些日志也會從記錄在日志索引文件
中的清單中被刪除,這樣被給定的日志成為第一個(gè)。
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00′;
清除3天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
BEFORE變量的date自變量可以為’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同義詞。
如果您有一個(gè)活性的從屬服務(wù)器,該服務(wù)器當(dāng)前正在讀取您正在試圖刪除的日志之一,則本語句不會起作用,
而是會失敗,并伴隨一個(gè)錯(cuò)誤。不過,如果從屬服務(wù)器是休止的,并且您碰巧清理了其想要讀取的日志之一,則從
屬服務(wù)器啟動后不能復(fù)制。當(dāng)從屬服務(wù)器正在復(fù)制時(shí),本語句可以安全運(yùn)行。您不需要停止它們。
要清理日志,需按照以下步驟:
1. 在每個(gè)從屬服務(wù)器上,使用SHOW SLAVE STATUS來檢查它正在讀取哪個(gè)日志。
2. 使用SHOW MASTER LOGS獲得主服務(wù)器上的一系列日志。
3. 在所有的從屬服務(wù)器中判定最早的日志。這個(gè)是目標(biāo)日志。如果所有的從屬服務(wù)器是更新的,這是清單上的
最后一個(gè)日志。
4. 制作您將要刪除的所有日志的備份(這個(gè)步驟是自選的,但是建議采用)。
5. 清理所有的日志,但是不包括目標(biāo)日志。
下面講一下怎么從二進(jìn)制文件恢復(fù)數(shù)據(jù), 假如不小心執(zhí)行了drop table xxx_db, 假如你保留了完整的二進(jìn)制日志的話, 先不要冒汗, 這是可以恢復(fù)的.
先看看日志
#mysqlbinlog /diskb/bin-logs/xxx_db-bin.000001
找到執(zhí)行create table xxx_db之后和drop table xxx_db之前的position, 假如是20, 1000
#mysqlbinlog --start-position="4" --stop-position="1000" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root
伴隨著一大堆的ERROR 1062 (23000) at line 12355: Duplicate entry '139' for key 1, 數(shù)據(jù)庫就這樣恢復(fù)了, 不過--start-position="20"是不行的, 必須從--start-position="4"開始, 為什么要強(qiáng)制從4開始, 這個(gè)問題我也暫時(shí)沒有搞清楚.
還有一種辦法是根據(jù)日期來恢復(fù)
#mysqlbinlog --start-datetime="2009-09-14 0:20:00" --stop-datetim="2009-09-15 01:25:00" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root
如果create table xxx_db和drop table xxx_db之間的時(shí)間相距是一年, 或者在不同的二進(jìn)制日志中, 且位置相距好遠(yuǎn), 就等著失眠吧! 做好備份, 小心操作才是正路??!
1、雙擊MySQL數(shù)據(jù)庫的.msi安裝文件,進(jìn)入MySQL安裝界面。
2、在MySQL安裝界面,點(diǎn)擊"Remove MySQL Products"(卸載MySQL產(chǎn)品)。
3、在卸載產(chǎn)品界面,單擊"Execute"(執(zhí)行),彈出是否確認(rèn)刪除窗口,單擊"是(Y)"。
4、進(jìn)入清空現(xiàn)有數(shù)據(jù)界面,勾選"uninstall the mysql installer"(卸載MySQL安裝程序),單擊"Finish"完成MySQL數(shù)據(jù)庫的完全卸載。
5、卸載完成后,找到路徑為:C:\ProgramData\MySQL(是隱藏文件,需要顯示出來) ,手動刪除c盤ProgramDate目錄中關(guān)于MySQL的目錄,就刪除干凈了。
進(jìn)入“控制面板-管理工具-服務(wù)”查看才發(fā)現(xiàn),雖然MYSQL已經(jīng)卸載了,但是MYSQL服務(wù)仍然殘留在系統(tǒng)服務(wù)里。\x0d\x0a又不想改服務(wù)名,改怎么辦呢。\x0d\x0a\x0d\x0a只要在CMD里輸入一跳命令就可以將服務(wù)刪除:\x0d\x0a\x0d\x0asc delete mysql //這里的mysql是你要刪除的服務(wù)名\x0d\x0a\x0d\x0a這樣一來服務(wù)就被刪除了,進(jìn)入服務(wù)里查看確實(shí)沒有mysql服務(wù)了,OK。
判斷返回值啊
mysql_query() 僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個(gè)資源標(biāo)識符,如果查詢執(zhí)行不正確則返回 FALSE。
對于其它類型的 SQL 語句,mysql_query() 在執(zhí)行成功時(shí)返回 TRUE,出錯(cuò)時(shí)返回 FALSE。
非 FALSE 的返回值意味著查詢是合法的并能夠被服務(wù)器執(zhí)行。這并不說明任何有關(guān)影響到的或返回的行數(shù)。很有可能一條查詢執(zhí)行成功了但并未影響到或并未返回任何行。
可以去看下mysql_query()的介紹,希望對你有幫助