2008年12月29日 星期一

Outlook 2003 pst 修復被刪除的信件

今天的故事是這樣的...
有一位用戶,用導出的方法去備份郵件,在別台電腦嘗試掛載那個導出的pst檔案後,發現裡面空無一物,但pst的檔案卻有10幾mb...

第一眼的感覺是,郵件全被Deleted掉了...

有一個簡單的概念,Outlook 和 OE 只要屍骸還在,應該都還有還原的方法。

修復方法很簡單:
用16位元的編輯器(例如 Ultra Edit) 打開那個有問題的pst檔案。
將檔案第一行 的第7至第13個字節 (7 to d) 改為空白(16位元編碼是20)
儲存檔案...

使用Outlook2003附帶的scanpst.exe 去掃瞄一次那個有問題的pst檔案,並修復。

重新再導入(或掛載) 那個pst檔案。


原理:
將 pst檔變成對Outlook來說有問題的pst檔案,並修復之,強迫Outlook吐出所有郵件...






MYOB - Report 不能匯出成Excel

當使用MYOB Premium 要匯出報告成Excel的格式時出現如下圖


這是MYOB的office link error.

一般解決辦法相當麻煩,需要重裝MYOB,甚至重裝MSOFFICE才能將Corrupt的Link修復。

請嘗試以下方法
關閉MYOB,Excel和其他Microsoft Office軟體。
找出閣下的MYOB安裝資料夾 如:C:\Premier8\

進入cmd mode,輸入 C:\Premier8\drvxl32.exe /register
重新再生成Report並測試輸出。

如成功則問題解決,如不成功則要嘗試解除安裝MYOB並再安裝,自動生成新的OfficeLink。
如重新安裝MYOB亦未能解決問題,則要再解除安裝MYOB,重新安裝Microsoft Office,重新安裝 MYOB,用此流程才有辦法修復Corrupt的Officelink




2008年12月10日 星期三

Apache 2.2.4 + PHP 5.2.3 測試環境安裝手記

這次無聊需要裝一個 PHP 環境來做測試,沒裝Mysql是因為不需要

OS: Linux RHAS 4.6 32bits
套件:
httpd-2.2.4.tar.gz
php-5.2.3.tar.gz

預定安裝路徑: /usr/local/

第一步當然是要去下載
httpd:  www.apache.org
php:   www.php.net

第二步:安裝Apache
#tar -zxvf httpd-2.2.4.tar.gz
#cd httpd-2.2.4
#./configure --prefix=/usr/local/apache --enable-so
#make
#make install
啟動apache
#/usr/local/apache/bin/apachectl start
瀏覽器輸入 http://xxx.xxx.xxx.xxx/ 測試是否已經運作。


第三步: 安裝php
#tar -zxvf php-5.2.3.tar.gz
#cd php-5.2.3
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring=all --enable-soap
#make
#make install
#ls /usr/local/apache/modules 看看libphp5.so 在不在...如果不在的話,應該是 --with-apxs2這個參數打錯字....
#cp phhp.ini-dist /usr/local/php/lib/php.ini

第四步:修改/usr/local/apache/conf/httpd.conf
#vi /usr/local/apache/conf/httpd.conf
找到AddType application 行,增加
AddType application/x-httpd-php .php
找到DirectoryIndex 行,在後面增加 index.php
找  LoadModule 行, 看看附近有沒有
LoadModule php5_module modules/libphp5.so 如果有#記號請去掉。

保存httd.conf 重啟apache
#/usr/local/apache/bin/apachectl restart






2008年12月9日 星期二

ntop 安裝手記

ntop 是我認為最容易也頗ok好用的網路監控軟體,用來抓區網使用者超流量時最好用。
基本資料也有....重點是安裝極容易,極適合新鮮人網管使用 :)

以下簡單描述ntop的安裝方法。

在官網下載 ntop-3.2.tgz

解壓縮 
tar-zxvf ntop-3.2.tgz
cd ntop-3.2
./configure
./make
./make install

裝完後要設定admin 密碼
/usr/local/bin/ntop -A

然後設定需要監控的網路介面
/usr/local/bin/ntop -dLi "eth0"

測試是否已經啟動成功
netstat -an | grep 3000
如果有一個3000的Port在 Listen,即是 ntop已開始運作。

測試 http://192.168.x.x:3000 是否看到ntop的監控的資料。


PS. ntop 沒有登入密碼這回事....:( 所以要在iptable 中設定可以瀏覽3000 port的 IP。



2008年10月15日 星期三

Ati 顯示卡 顏色模糊問題

最近入手了張頗老舊的顯示卡 Ati 系列的HSI X300se 128Mb。
裝驅程後一直出現問題,病徵包括,window icon 花掉起格,顏色模糊,一些window的應用程式出現模糊等等。

網上沒出現很多例子,但根據Ati官網說法,可以做一些測試。

包括將顯示卡移到別台機器使用,看問題是跟著卡還是跟著機。

我的做法是,將顯卡的硬體加速一格一格地調低,看看效果。
可能每台機子問題都不太一樣,在調低硬體加速兩格後,Icon, Menu等等都不會出現起格和模糊問題。但我相信還潛在著其他顯示上的問題,只是我還沒有測試到。

2008年9月25日 星期四

PCMCIA MTD-0002 令人沮喪的問題

早前接到個任務,拿了張CDMA的PCMCIA卡去試訊號。
找了一台NB,Acer的,去安裝驅程和應用都沒有問題,但這本NB太厚重不宜往戶外定點測試,所以我另外找了一台舊的VAIO來做測試...

怎料....PCMCIA卡插下去....是找到硬體,不過只找到PCMCIA MTD-0002....? 這甚麼鬼...驅程也找不到。很古怪的問題....

在網上搜尋,各式各樣的解答,很多人想也不想就說是卡壞了...? 可是我Acer本用的到啊,所以卡是沒問題,可能是VAIO出問題,但沒有很多的解答。

找不到統一的答案,苦無頭緒下有網友說可能是PCMCIA卡槽有灰塵或斷腳之類...所以我就找來一把修電腦用強力大風扇--我的嘴巴。吹吹吹....再試看看插入PCMCIA卡。 我的媽呀竟然結果是High Speed CDMA 而不是惱人的MTD-0002。

所以這案題的結果......你的NB的PCMCIA槽沒有好好保護,進入大量灰塵了... 吹吹它吧。

Orz   真是惱人的答案呢...

2008年9月22日 星期一

難纏的MSN病毒--Injector.CV Trojan

感染途徑:
老樣子經由MSN傳送檔案,受害者開啟了帶病毒檔案後中毒。

症狀:
1.病毒會拷貝一個symlssdb.exe檔案到%systemroot%\system32\中,並隱藏自己。
2.禁用Folder Option。
3.禁用Regedit.exe
4.禁用cmd
5.禁用taskmgr.exe
6.將常用的工具軟件阻礙掉,你可能不能開啟如msconfig.exe,或procexp.exe等工具程式
7.將「執行」在Start選單中除掉
8.不能開啟「安全模式」

解毒:
說難不難只是有點麻煩,這木馬阻擋了大部份解毒進入途徑,如果是本機中毒,根本無從入手,所以要將系統盤拆下來,裝到另一台電腦上。
開始掃毒,或直接把 windows\system32\symlssdb.exe刪除掉再硬塞一個其他無毒檔案改名叫symlssdb.exe。這使得系統盤回到原本的電腦上時不會在開機時再生成symlssdb.exe,雖然不知道會不會再生成,從現像來看應該是不會復活。

用市面上的防毒軟體完整掃瞄一次。

木馬已經清除了,但被禁用的東西還是會被禁用,現在逐一把它們還原。

重開機,首先把regedit還原起來,有兩個方法。

1.打開procexp.exe(如沒有可能需要下載),在File->Run裡輸入gpedit.msc來開啟Group Policy的選單。
打開User Configuration->Administrative Templates->System裡面,把以下兩東西Disable掉。包括
Prevent access to the command prompt
Prevent access to registry editing tools
2.下載Reg Organizer或在regedit被禁用下仍可修改系統登錄碼的工具。
  在[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]中 把
  DisableRegistryTools 設回 0  (取消禁用regedit)
  Disabletaskmgr 設回 0 (取消禁用taskmgr工作管理員)
  
 測試一下現在regedit應該回復正常了。
 在regedit中尋找 DisableCMD ,找到後把他設回 0 ,解除對cmd的限制。
 
 至於資料夾選項,一樣可以在regedit中修回來。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
中把NoFolderOptions設回0  (解禁資料夾選項)
NoRun 設回0  (解禁開始->執行)

這樣所有後遺症都應該解決了。

2008年9月4日 星期四

Google Chrome

Google 這幾天出了新玩意,叫做Google Chrome(簡稱Chrome),是一個瀏覽器。
號稱比IE Secure,比Firefox輕量,我當然是急不及待去測試這個新玩意,基本上每樣google的玩意我都會試用一返,有很多都很適合我用。

好!這套Chrome到底有甚麼新花款呢? 其實他取了IE,Firefox等的一些優點,去設計瀏覽時的使用方法。例如IE的「我的最愛」管理方式,Firefox的書籤工具列,Download Manager,字體即時放大縮少等等。
連熱鍵都一樣使得這兩款瀏覽器的使用者可以更快更容易地上手Chrome。

另外Chrome也有設計一些獨有的元素和功能,這些功能對我來說可以說是有趣又非常有用。

例如檢視網頁原始檔是用網頁的形式呈現,並加上行號,其實我猜想設計的目的是針對Chrome的其中一個大重點--V8引擎,更容易除錯。另外Javascript控制台(inspector)的功能類似Firefox的一個外掛,好像叫HTML Ant,專門將HTML以TAG頁格式有效率地呈現,基本上可以稍微幫助網頁設計人員在對Online的網頁作一些檢查。

另一個大功能是「新增分頁」功能,並不是Add Tab的意思,其實是Chrome Internal的一個首頁。這個Chrome Internal可以以縮圖的方式去列舉常用網頁,另外還會顯示最近Bookmark過的書籤,其中最好用是您的瀏覽記錄搜尋(搜尋功能果然是google的強項),雖然瀏覽記錄搜尋對google來說已經是舊技術,但這次加在Chrome裡使人特意去使用這功能的頻率大增,有時還覺得頗好用的。

另外值得一提的是,很勁,很獨特,只有Chrome才有的----無痕式瀏覽器和工作管理員!!

無痕式瀏覽器故名思義是瀏覽無痕,基本上是為了Security 元素而增設的,十分適合上一些對個人資料較敏感的網頁,如銀行,理財,政府部門網頁等等,在使用完網頁服務後,關掉無痕式瀏覽器,你該次使用時的瀏覽記錄,歷史,網頁暫存檔,cookies等,都一併自動刪除,加強了保護個人私隱。

至於工作管理員,個人認為也是一大傑作。首先Chrome採用了新的Process概念,一般IE與Firefox都是使用單一執行緒,如何知道它們是單一執行緒呢? 在瀏覽時一個Tab裡的網頁要運行一大串Scrip或java之類的程式時,整個主瀏覽器都會Hold住並等待這個頁面完成,所以你會發現為甚麼Load這麼久,又或是當其中一個Tab運行了一些有問題的Script時而導致整個瀏覽器Crash,這都是單一執行緒的缺點。而Chrome則是採用多執行緒的方法,在主瀏覽器下,每個Tab各開一個執行緒,所以每個tab都是各自運作且不影響其他,我實驗過,迫使Chrome掛點時,按了熟悉的「不回報」後,Chrome竟然相安無事繼續運作,這也是比IE 7遠遠優勝的地方。而就Chrome的多執行緒概念,使得Chrome在單一tab關閉時要做的記憶體回收(Garbage collection)更容易且更乾淨地做到,這也是我認為Chrome比Firefox優勝的地方。嗯...沒提到工作管理員....唔,簡單來說工作管理員就是管理每個tab所使用的資料,開啟,關閉和記憶體回收,是配合Process概念的新東西。

另外,Chrome一再強調的Faster! Faster! Faster! 的確,Chrome在讀Tag,執行javascript,讀圖讀Flash的速度真的有很快,但其實IE和Firefox在Templorary Internet Files的加持下,速度其實沒慢很多啦,當然速度快真的是Chrome的優點,尤其是處理一些廢碼和廢Tag的網頁時,Chrome真的很快,不過我沒有很細緻地測試。

有利必有弊,因為IE和Firefox所用的javascript引擎,Google Team覺得很慢,所以就自己設計了一套全新的Javascript引擎.....汗。這套引擎叫做V8,這是之前有提及過的。
因為Chrome本身已經讀得很快,所以我感覺不出來V8到底有多快....可能真的很快,不過有很多舊式的javascript寫法好像不太適用,尤其是IE Only的網站.....還有我壞習慣的script都不能運行。在Facebook上應該很多用家都會感到Chrome可能不怎麼方便。

Facebook VS Chrome 這兩碼子不相關的事突發其想想寫一下。Facebook是一個網站,Chrome是一個瀏覽器,如果使用Chrome來上Facebook有甚麼效果呢? 答案是....天呀,好快。
Facebook獨有的FBML,使得各Application都要依賴facebook的解釋器,再轉換一大堆東西出來,主要元素還是大量的tag吧,正合Chrome的tag處理速度... 如果你是facebook的常客又很多朋友,使用Chrome來上facebook將會很明顯地感覺差異,尤其是在進入Home的時候...。 唯一可惜是,還是Beta版的V8,對一部份的Application需要用到FB的javascript沒有支援得很好....這也是我覺得遺憾的地方。

不管怎樣,Beta版的Chrome和V8是開源的,所以我預期將會有更多新東西新功能會出現,現在就已經很好用了....:D

Ivan Ng 04-Sep-2008

2008年8月27日 星期三

Mysql 資料庫備份

節錄自 http://www.study-area.org/tips/mysql_backup.htm
作者: Duncan Lo <duncan@twn.wox.org>

三.開始備份

phpBB 討論區的資料檔,主要有兩個部份,就是 php 主程式和 DB 內容,
php 主程式的備份就比較簡單,只要把全部檔案 tar 起來就行了,就像:

tar cvfz phpbb2_20020601.tgz phpbb

(上面的 phpbb 是指 phpBB 的 php 網頁程式存放目錄.)

以後有改到 phpBB 網頁程式部份再重新備份一次就行,它的內容資料都寫在
DB 內,所以 php 程式檔部份異動性應該不大.

再來就是 MySQL DB 部份了,預設 MySQL 的 DB 檔案是存在 /var/lib/mysql 內,
以 DB 名稱為目錄,目錄內就是該 DB 的所有資料,像 phpbb2 這個 DB,
就是存在 /var/lib/mysql/phpbb2 內,在備份前,因為怕資料尚未完全寫入磁碟,
而且 MySQL 會 Lock 在使用的 DB 檔案,所以應該是要先把 MySQL 先 Shutdown 一下,
整個備份的程序可以下像下面的指令去完成:

/etc/rc.d/init.d/mysqld stop
tar cvfz phpbb2_db_20020601.tgz phpbb2
/etc/rc.d/init.d/mysqld start

(上面的 phpbb2 是指存放 phpbb2 這個 DB 的目錄.)

Ok!這樣就完成了! (什麼?就這樣! 3行就結束了?!)

對!這樣就可以了! 不過要注意的是,怕 DB 內每個 Tables 間的資料有關關聯性,
所以最好是把整個 DB 一次備起來,單獨只備哪個 Tables 的檔案,以後回存時,
怕會有資料關聯不一致的問題!

以酷!學園的口水討論區為例,有21000筆左右的文章加上1200名註冊會員,資料庫
整個 tar 起來大約30幾 MB 左右,每天備份,以一週為週期來計算,備份大約只需要
(35*7=245) 200 多 MB 左右的空間,一星期的備份燒在一張光碟還夠!


四.如何回存

phpBB 討論區的回存,只需把檔案解回原來存放網頁的路徑就可以,用以下指令解開:

tar xvfz phpbb2_20020601.tgz

DB 發生錯誤而要回存時,其實也不難,先找出最近一次完整正常的備份,先把現在錯誤
的網頁或 DB 先更名或 tar 起來,再把好的備份給解開回原來目錄位置就行了,需要
注意的是, MySQL 服務最好也是要先停止,回存完成後再啟動服務,回存 DB 的整個程序
可能像下面:

/etc/rc.d/init.d/mysqld.stop
mv phpbb2 phpbb2_error
tar xvfz phpbb2_db_20020601.tgz
/etc/rc.d/init.d/mysqld.start

然後再去測試一下網頁及資料庫! 看使用上是否正常就行了...


五.MySQL線上備份

使用像上面的"檔案"方式備份是個不錯的方法,它最少可以保持該主機某個時間點
的完整檔案備份,但還是有一些問題需要考慮到,有些主機就不只建立一個 DB 而已,
總不能為了備份某個 DB 而把整個 MySQL 服務停止,備份檔案的方式,回存在原主機上
一定適用,但假如 MySQL 版本升級,或是在那天,該網頁空間需遷機移機到別的主機時,
那就沒人敢保證備出來的資料檔可以用,所以我們可以考慮另一種備份的方式,是使用
MySQL 本身提供的功能: "MySQL Data Dump",指令是 "mysqldump".

使用 MySQL 的 Dump 功能可以把 DB 的"結構","資料"或"結構加資料" Dump 成
文字檔, mysqldump 指令提供的彈性很大,你可以選擇把整個 DB Dump 成一個檔,
或是每個 Table 為一個檔,甚至是把結構檔和資料分開儲存都可以.

檢測酷!學園的 phpBB 資料庫後發現,以結構加資料 Full Dump 成一個檔案,
檔案的大小大約也是30幾MB左右. 在 Dump 之前最好多下個 Flush-Logs 更新 LOG,
所以整個 Dump 的指令如下:

mysqladmin -uroot -p flush-logs
mysqldump phpbb2 -uroot -p --opt > phpbb2_20020601.sql

(phpbb2 是 DB 名稱, opt 是一個使用完整 Dump 參數)

再使用 time 指令去測試執行時間,這個30幾 MB 的 DB , Dump 出來竟只要15秒左右,
Query 的速度還真是快,假如只是要單獨 Dump 某個 Table 時,只要在上面的指令後,
轉出符號 ">" 前加個 Table 名稱就可以,如只要 phpbb2_users 這個 Table 的 Dump 時,
只要下:

mysqldump phpbb2 -uroot -p --opt phpbb2_users > phpbb2_users_20020601.sql

Dump 出來的檔案是個純文字檔,你可以用 tar 把它壓起來,以上面30幾 MB 的 DB 為例,
大約可以把檔案大小壓到1/3左右的大小,因為 Dump 出是文字檔,所有的資料都是以明文
顯示,所以必須注意一下備份檔保存的安全性,而且建議備份檔最好再另外儲存於異地以及
其他易於保存的媒體上,像光碟片或磁帶,這樣的備份才有意義.


六.MySQL線上回存

若要回存整個資料庫,只需將壓縮的備份檔還原成 Dump 的檔案,再用下面的指令回存:

mysql phpbb2 -uroot -p < phpbb2_20020601.sql

這邊需注意的是,若建立備份時是以"--opt"或"--add-drop-table"為參數時,回存的
動作是先將舊的 Table 先刪除,重建 Table 的結構後再把 Data 匯入,所以回存後,
所有的資料會回到你當時備份那個時間點,因此在回存資料時,可以考慮把現有錯誤或
不完整的 DB 先備份一份下來,以備不時之需,或是拿來比對錯誤的地方在那裡,當然你也
可以把資料回存到另一個測試用的 DB 內,只要把上面指令的 DB 名稱改成你的測試
用 DB 名稱即可.

使用這種回存方式, MySQL 服務不需停止,也不會動到其他正在使用的 DB ,在一些提供
MySQL 服務的虛擬主機,可用這種方式作你自己的 DB 備份及回存.

另外,假如你是系統重建或是移機時,切需在新的 MySQL 內,新建一個空白 DB 後,才行
作回存的工作,你可以用下面的指令建立:

mysql -uroot -p -e "CREATE DATABASE phpbb2"

(上面的phpbb2是你要新建的 DB 名稱)

另一種作法,先用 "mysql" 指令進入 "mysql client console", 然後再用:

CREATE DATABASE phpbb2;

這樣就行了,記得尾端要加個 ";" 符號該行指令才會執行.



2008年8月1日 星期五

Linux 兩個指令 modprobe, lsmod

modprobe 加載模組指令
常用參數
modprobe -l 顯示所有可加載模組
modprobe -l -t [dir] 顯示dir目錄裡可加載模組
modprobe -l -a [name] 顯示name是否可加載
modprobe [name] 加載name模組
例 modprobe ip_conntrack_ftp

lsmod 顯示已加載模組 (包含Dependence)

iptables- 同一Subnet下的NAT問題 (簡易教學)

在iptables,在沒加Rules的情況下,如果以外部IP形式去訪問同一內網的Server,可能會出現問題,如圖1:


因為服務器可以在收到Request後,直接對客戶端作回應訪問,但對客戶端來說,這個訪問會被誤認為NEW的Connection,所以會被擋下來,或客戶端根本無法對服務器端反回如圖的PORT 1027的請求....

所以我們要在iptables裡的Postrouting著手,將Request偽裝成Firewall的請求,而不是上圖的Client。我們想做到如下圖:


加入這句
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.0/24 -d 192.168.1.200 -j SNAT --to-source 192.168.1.1:80

或許稍為解釋上方的規則,原理是,當所有從192.168.1.x出去的封包,目的地要去訪問192.168.1.200的80端口的話,將封包的源頭偽裝成192.168.1.1。使得192.168.1.200網頁服務器將請求返回192.168.1.1。

2008年7月14日 星期一

非MSN帳號的改密碼方法

http://memberservices.passport.net/memberservice.srf

到這個網址,登入你的MSN帳號與密碼,裡面就有個password change.

如果你是使用hotmail作為msn的帳號,那只要更改你的hotmail密碼就連同msn一起修改了。

2008年7月9日 星期三

XP 登入後 立即自動登出 問題

當進入Window XP的登入畫面,輸入密碼後,系統不讀取任何東西即自動登出。發生此情況的原因可能是 Windows\system32\userinit.exe 損毁或不見了。 可能是中毒的情況。

因為系統不能登入的關係,將會連安全模式都不能登入,所以要把硬盤拆下來,外接到其他電腦,然後再從一個健康的XP系統裡把userinit.exe copy出來,放回去壞掉電腦的硬盤中 \system32\的位置。

把硬盤裝回去,開機,問題應該已經解決。

2008年7月4日 星期五

點擊 Outlook 郵件中的超連結時出現錯誤

在點擊Outlook2003 或Outlook2007郵件中的超連結時出現以下錯誤:

This operation has been cancelled due to restrictions in effect on this computer. Please contact your system administrator.

原因是一個registry key 損壞掉..
HKEY_Local_Machine\Software\Classes\htmlfile\shell\open\command

修復方法:
開啟Internet Option-> Programs -> [Reset Web Browser] (IE6適用)
開啟Internet Option -> Advanced -> Reset (IE7適用)

注意[Programs]tab中 的預設程式是否正確,例如E-mail是用Outlook...

然後重啟IE,重啟Outlook,再嘗試點擊郵件中的超連結。


如果這個方法不能解決問題,則可能需要從別台電腦Export以上的Registry key.
然後Import到損毁的電腦中


參考文件:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q310049

2008年6月25日 星期三

lsass.exe , LdrSetSessionName , mfc40u.dll

今天碰到一台XP的機子,出現了Lsass.exe錯誤而不能正常啟動。

原因是lsass.exe讀不到mfc40u.dll這個library.

簡單的處理方法是在另一台健全的XP系統中把這些檔案拷過來

lsass.exe與mfc40u.dll 位於 WINDOWS\SYSTEM32\ 中

把這兩個檔案拷貝然後覆蓋到有問題的系統中,再重新啟動。

問題應該可以得到解決。

2008年5月26日 星期一

Linux RedHat 4.4 安裝 Mysql 5.0

首先到 http://www.mysql.com 下載rpm包
這次下載的是 MySQL-server-community-5.0.51a-0.rhel4.i386.rpm

然後 rpm -ivh MySQL-server-community-5.0.51a-0.rhel4.i386.rpm

如果發現有下述錯誤發生:
MySQL conflicts with mysql-4.1.20-1.RHEL4.1.i386
MySQL-server conflicts with mysql-server-4.1.20-1.RHEL4.1.i386

則可能是以前有安裝過MySQL。

要解除之前的安裝,首先....

#rpm -qa | mysql 查看安裝了多少東西關於mysql的東西

然後使用
#rpm -e mysql-server-4.1.20-1.RHEL4.1.i386 (例子) 來解除安裝

解決了舊版本的東西後,再回到 rpm -ivh的步驟重新安裝過...

2008年5月16日 星期五

Linux RedHat Enterprise 4.4 Boot in textmode

想將Linux Redhat 4.4 server 在boot機時直接進入textmode

修改:
\etc\inittab

將 id:5:initdefault: 改成 id:3:initdefault:

以後開機直接進入textmode

想一時使用圖形GUI介面的話,在textmode輸入 startx

2008年5月9日 星期五

Fujitsu Notebook 英文Vista不能Recovery..

我公司有台Fujitsu P8010,在復原系統時,可以選擇中文或英文,在復原時就決定了復原系統的語言,我在復原中文系統可以,在嘗試復原英文系統時,老是找不到復原光盤。

百思不得其解下,有人教我這可能是因為硬盤分割有問題。

於是我把硬盤使用SPFDISK把所有分割和檔案系統刪除掉。

再從新使用復原光盤開機進入復原介面,這次真的找到光盤沒有問題了。

2008年5月6日 星期二

Linksys CIT200 關開機後出現 Unregistered字樣

當你使用CIT200 出現問題,嘗試關機重啟話機後,話機出現Unregister字樣,原因大概是話機沒法與Base連線。

話機將會沒有話音,不能撥號,不能使用....

要重新Register話機,首先按著Base的中間按鈕不放,InUse燈閃爍,然後註冊話機。
話機會要求你輸入pin碼,如果你沒有更改過話機的pin碼,預設pin碼是0000。

1到2秒後,話機會發出音效,這樣便Register成功了。

2008年4月11日 星期五

MYSQL:Can't open file: 'user.MYD'的解决方法

問題特徵:

mysql數據庫錯誤: Can't open file: 'user.MYD'. (errno: 145)
mysql數據庫錯誤號: 1016

解決方法:
1.運行myisamchk *.MYI或(myisamchk -e *.MYI,如果你有更多的時間)。使用-s(沉默)選項禁止不必要的信息。

你必須只修復那些myisamchk找出來的第一個錯誤的表。對這樣的表,繼續到階段2。

如果在檢查時,你得到奇怪的錯誤(例如out of memory錯誤),或如果myisamchk崩潰,到階段3。

2 :簡單安全的修復

首先,試試myisamchk -r -q tbl_name(-r -q意味著“快速恢復模式”)。這將試圖不接觸數據文件來修復索引文件。如果數據文件包含它應有的一切和在數據文件指向正確地點的刪除連接,這應該管用並且表可被修復。開始修理下一張表。否則,使用下列過程:

在繼續前做數據文件的一個備份。
使用myisamchk -r tbl_name(-r意味著“恢復模式”)。這將從數據文件中刪除不正確的記錄和已被刪除的記錄並重建索引文件。
如果前面的步驟失敗,使用myisamchk --safe-recover tbl_name。安全恢復模式使用一個老的恢復方法,處理常規恢復模式不行的少數情況(但是更慢)。
如果在修復時,你得到奇怪的錯誤(例如out of memory錯誤),或如果myisamchk崩潰,到階段3。

3 :困難的修理

如果在索引文件的第一個16K塊被破壞,或包含不正確的信息,或如果索引文件丟失,你只應該到這個階段 。在這種情況下,創建一個新的索引文件是必要的。按如下這樣做:

把數據文件移更安全的地方。
使用表描述文件創建新的(空)數據和索引文件:
shell> mysql db_name
mysql> DELETE FROM tbl_name;
mysql> quit

將老的數據文件拷貝到新創建的數據文件之中。(不要只是將老文件移回新文件之中;你要保留一個副本以防某些東西出錯。)
回到階段2。現在myisamchk -r -q應該工作了。(這不應該是一個無限循環)。

4:非常困難的修復

只有描述文件也破壞了,你才應該到達這個階段。這應該從未發生過,因為在表被創建以後,描述文件就不再改變了。

從一個備份恢復描述文件並且回到階段3。你也可以恢復索引文件並且回到階段2。對後者,你應該用myisamchk -r啟動。
如果你沒有一個備份但是確切地知道表是怎樣被創建的,在另一個數據庫中創建表的一個拷貝。刪除新的數據文件,然後從其他數據庫將描述和索引文件移到破壞的數據庫中。這給了你新的描述和索引文件,但是讓數據文件獨自留下來了。回到階段2並且嘗試重建索引文件。

2008年3月13日 星期四

[轉] 定期清除mysql bin log

作者: luwentao
2007-05-03
來自:http://xxo.blog.163.com/
轉自:http://www.mske.com/index.php?option=com_content&task=view&id=60&Itemid=28

udb服務器down了,因為var目錄滿了.因為/var/log/mysql目錄占用了40G的空間.

查看/etc/mysql/my.cnf ,發現

expire-logs-days = 20

把expire-logs-days 設成3,然後在mysql命令行執行

PURGE MASTER LOGS TO 'mysql-bin.000930';

即可刪除930之前的binlog



用這個語句可以清除3天前的binlog,

PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

所以另外還有個方法定期刪除binlog:

在contab設置:

0 1 * * * `mysql -uroot -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);'`

---------------------------------------------------
Ivan 補充
-bin log 檔案的樣子會長的像 name-bin.index ,例如mysql-bin.123。
-這些bin log檔會存在於你mysql的資料庫所在地的資料夾中,且必定存在my.cnf,所以你可以搜尋my.cnf的所在地,會找到mysql的bin log.
-如果你的服務器因為這些bin log塞滿了硬盤使得web service(如apache)停掉的話,在Purge掉bin log檔後,可以重開機或直接重啟web service將會達到相同的效果。
-參考指令: ls -lshR , du -ha, df 可以查看檔案和硬盤的大小和剩餘..
Google