Powered by and 圖示來源

2009年7月29日 星期三

昨天才發現新作
今天又一發

第5集


2009年7月28日 星期二

這次原作者快速的推出兩集

第3集
第4集


2009年5月3日 星期日

網路上查了一輪...基本上這個ibdata1 (路徑為 /var/lib/mysql/ibdata1),是一個只會長大不會變小的檔案它是mysql的bug.. 在bug還沒解之前,想要縮小有個辦法.

1.導出資料庫數據
2.砍掉重練
3.導入第1步時的數據


細部分解:
1.先備份整個資料庫(怕死)
cd /var/lib/
service mysqld stop
tar -zcvf mysql.tgz mysql
service mysqld start


2.停止服務(也是怕死), 假如db是專給web那麼...
service httpd stop

3.把資料庫的資料導出, 自己有什麼資料自己最清楚, 一個一個拉出來囉
mysqldump --lock-all-tables -u root -p 資料庫名稱 > example.sql

4.導出之後, 會有很多個.sql, 這時提起勇氣...
rm /var/lib/mysql/ibdata1

5.資料庫一個一個導回去
mysql -u root -p 資料庫名稱 < example.sql

6.開啟服務, 仍以web 為例.
service httpd start

7.測試....
成功是一定的,但天有不測風雲, 資料如果不見,至少還有mysql.tgz頂著
廣告



參考資料:
原文

MySQL Server 的日常維護中最重要的一項大概就是資料庫的定時備份,而 MySQL 資料庫的備份方式有很多但一般來說大致上可概分為二種:

1. Binary Copy (直接複製資料庫檔案)
2. Dump Database (將資料庫輸出成為文字檔)




一、Binary Copy (直接複製資料庫檔案)

開門見山的說,非常不建議你這樣子做。MySQL 支援許多種不同的 Storage Engine,但並不是每一種 Storage Engine 都是 Binary Portable,意思就是說不是每一種 Storage Engine 都可以讓你把資料庫檔案直接複製到另外一台 MySQL Server,然後還可以正常運作的。MySQL 預設的 MyISAM Storage Engine 是 Binary Portable 的,因此若你的資料庫只有使用 MyISAM Storage Engine 的話,那麼你大可以直接複製資料庫檔案來進行備份(當然還必須考慮到資料的一致性,比方說複製之前先關閉 MySQL Server)。但若您有使用到 InnoDB Storage Engine,那麼你就不能這麼做,因為 InnoDB Storage Engine "不是" Binary Portable,只要 CPU 的浮點運算架構不同,複製過去的資料將無法正常運作。除此之外,你複製起來的 InnoDB 資料庫檔案(share table space)若是還原到不同版本的 MySQL Server 上,也會有很大的機率無法正常運作。除非你很肯定備份(複製)起來的資料只會使用在 "同一台 Server" 並使用 "同一個版本" 的 MySQL Server,不然請勿使用此方法進行備份。

註:

對於 MyISAM Storage Engine,每個資料庫(Database)都是一個獨立的目錄,而資料庫中的資料表則會分別以三個檔案儲存在該目錄中,這三個檔案分別是:

FRM: 儲存這個資料表的結構
MYD: Row Data,也就是你存在資料表(table)裡的資料
MYI: 此資料表的索引

但對於 InnoDB Storage Engine 來說,所有的資料庫(Database)與資料表(Table)都是儲存在同一個(或同一系列)的檔案之中,例如 /var/lib/mysql/ibdata1。



二、Dump Database (將資料庫輸出成為文字檔)


MySQL 在安裝時即有提供一系列的客戶端程式(Client Program),這些程式其實就是各種功能不同的 Perl Scripts 的集合,其中包括有協助您操控 Server 的 mysqladmin、用來執行 SQL 指令的 mysql、轉換 binary log 用的 mysqlbinlog 等等。其中有一樣工具是專門讓您用來備份資料庫的,那就是 mysqldump。

mysqldump 的使用方式十分的簡易,其語法為:
mysqldump --lock-all-tables -u root -p 資料庫名稱 > example.sql

* --lock-all-tables:進行備份時將正在備份的資料庫裡的資料表,全部鎖定以確保資料的一致性
* -u root:使用 root 帳號進行備份
* -p:需要輸入密碼,如果你的 root 帳號有密碼保護,而你又不加這個選項,就會直接 ACCESS DENIED
* 資料庫名稱:你要備份的資料庫名稱
* example.sql:這個部份你想取什麼名字都行,總之這裡就是備份出來的檔案名稱


開啟備份出來的檔案看看,你會發現裡面其實是由許多 SQL 指令所組成,而這些 SQL 指令就是用來重建整個資料庫用的,因此當您還原資料庫的時候其實對 MySQL 來說,只是單純的重新執行備份檔裡面所有的 SQL 指令。由於備份出來的檔案是單純的文字檔案,因此它是 Binary Portable,你可以將它複製到任何一台 MySQL Server 上然後進行還原。

還原的方式也很簡單,只要使用以下的指令即可:
mysql -u root -p 資料庫名稱 < example.sql

大部份論壇程式都會提供資料庫備份機制來協助您備份論壇的資料庫,但除非您無法直接掌控伺服器(例如租用虛擬主機)或是你不具有使用 SHELL 執行指令的權限,否則不建議您使用那些第三方程式所提供的功能來備份資料庫,不然您有可能會遇到備份出來的東西還原不回去的情況。


mysqlcheck -a -c -o -r -A --user=username --password=pwd -> for check


2009年4月13日 星期一

這篇文章會把《青龍戰記》的各項系統,做一個簡單的介紹以幫助新手能快速的上手。

時間的計算:
《青龍戰記》是以遊戲內的一天做為一個最基本的單位,一天開始時,人物的所有狀態都會恢復,目前遊戲的設定為每四個小時為一天。

新的一天:
有鑑於不是大家都時時刻刻能守在電腦邊,每四個小時就上線玩game,因此"新的一天"是可以儲存的,最多可以存6,當一整天的精力耗盡時,如果是在城市,就可以按下新的一天,恢復所有狀態,繼續旅程。

戰鬥:
戰鬥需要戰鬥回合才能戰鬥,戰鬥回合為零時,就無法再行戰鬥,只能等待新的一天。如果存有新的一天,這時就是一個很好的使用時機。

裝備:
各城市都有,武器店與防具店,可以用黃金購買防具增強攻防能力。

死亡:
死亡並不是結束,如果還想玩,可以在陰間走走,做鬼也能打架,如果打的夠努力,快速重生也不是不可能的事。至少變鬼也可以鬧一下陽間的人。

種族:
各種族都會有一些自己的特性,人類在"新的一天"會額外得到戰鬥回合,精靈的敏銳使他們能有較高的防禦力,食屍鬼的嗜鬼個性使攻擊力提升,而矮人能夠在戰鬥中獲得較多的黃金

貨幣:
遊戲中有黃金與寶石兩種貨幣,一些比較特別的事物,需要一些寶石

伙伴:
在某些城市之中,可以顧請傭兵,而某些城市之中可以購買野獸,共同作戰。
伙伴通常需要一些寶石。

森林:
主要的戰鬥地點,每個城市的近郊都是森林。

青龍:
通常生活在森林之中,它們會在世界上不固定的遷移,等實力上升後,就可以在森林中尋找青龍。
如果懶的找也可找占卜師尋問青龍的下落。

旅行:
城市間的移動,需要透過旅行,旅行需要行動點數,如果對世界不熟悉,可以向吉普賽人購買地圖。不怕迷路的話就直接上路吧! 注意,在世界地圖上如旅行餘數歸0,只能等待新的一天。就算存有新的一天,也不能在旅行時使用。

聊天:
公眾花園就是世界公頻,而各城市的廣場,是只有到該城市的人才看的到的區堿頻道。

座騎:
誠心的建議,存點錢買個座騎,有好無壞。

升級
每個角色都會有自己的故鄉,只有在自己的故鄉才會有師父,想要提升等級,要先達到師父要求的經驗值,然後挑戰師父。



2009年4月11日 星期六


《青龍戰記》-- 基於Seth Able's Legend of the Red Dragon開發的網頁角色扮演遊戲(RPG).


最近架了一個web game... 它的本名為Legend of the Green Dragon,經過個人中譯之後,定調為《青龍戰記》

《青龍戰記》是一個web base的角色扮演遊戲,這個遊戲的世界概念就是龍與魔法的世界,這個世界上,有隻強大的龍,叫做青龍。

有龍必屠,真君子,玩家所扮演的角色就是要在這個奇幻世界中四處游盪,等到能力提升到一定之後,就可以尋找青龍,一圓屠龍夢,故事就是這麼簡單。 (為什麼要屠龍,我也不知道)

目前遊戲中有8個種族可以選,其中人類、精靈、矮人與食屍鬼,是一開始就能選擇的種族,另外四個種族需要一定的要求,才能在重生之後選用。

在專長的部分(職業系統),目前有三種專長,以後會視狀況再掛上新的專長,目前的專長分另為暗黑魔法、神密力量與盜賊技能。

簡單的介紹之後,不如先註冊一下吧!

選單的顏色依顯示型態(display skin)不同,而有不同的位置與顏色。(此為Jade)
首先連到《青龍戰紀》

然後選擇創造角色,輸入帳號密碼與信箱之後就會收到認証信。認証信件目前建議使用gmail信箱,只要是用gmail信箱的都是馬上收到認証信,其它信箱時間就不太一定。

按下認証信上面的鏈結之後,就會再度回到遊戲之中,這時就可以選擇種族與專長,而種族也進一步的確定了出生的城市。

接下來.. 就是玩家自己的冒險。

更多的細項,請看《青龍戰記》簡介

本遊戲源自http://dragonprime.net,但移除了donate系統,所以不需要任何donate來強化角色的能力


2009年4月9日 星期四

寫程式.. 常常會用一個開關來控制debug message

通常會有幾種寫法。

1.用一個function包起來, 在function中決定訊息流向.

void dbgprint(const char *format, ...)
{
    va_list arg;

    va_start(arg, format);
    vsnprintf(rule_buf+strlen(CMD_NAME), BUF_SIZE, format, arg);
    va_end(arg);

    if(debug)
        fprintf(fw_rule_fp,"%s\n",rule_buf);
}


2.用定義來決定function
#if 0
    #define DBG printk
#else
    #define DBG
#endif


就程式而且,第二個方法速度快而且code size會比較小,除非有什麼其它需要,通常來說會用第二種。

廣告




第二種又有一些變型。 直接把目前覺得最棒的變形記下來。

#if DEBUG
    #define DBG(args...) printk(args)
#else
    #define DBG(args...)
#endif

在Makefie 中
CFLAGS += -DDEBUG


2009年2月5日 星期四

最近在玩PSP的太空戰士-紛爭

歷代的人物都登場了。

事實上,全破過的只有三代跟五代,其它的有些甚至沒玩過。(小孩子沒錢買電動嘛)
但是光三代我就全破超過10次了吧。

每次看到任天堂的模擬器,第一個抓的就是三代的rom。其它主機如果有改版重製也都會玩玩看,最後一次全破是去年玩nds的reFF3。

不過,今天要看的這位神人,祂彈的是五代的戰鬥音樂,一個人原音重現。


超強的泡泡龍。戰鬥音樂之後之後是水晶的音樂。
ps:看祂的腳,有時覺得很好笑...XD


原版對照


這位泡泡龍神,來玩戰鼓patapon2(最近也在玩)應該也超強。


2009年2月4日 星期三

在linux下,通常是vi會看到有些文件行尾會有^m出現。

這個在寫程試時很麻煩,這時只要輸入


:%s/^M$//g

即可
記一下vim的指令好了。

:{範圍}s/{原來字串}/{想要字串}/g

廣告




範圍 :
%就對了 全域啦。
原來字串 :
^M$,這個比較麻煩,要按ctrl+v ctrl+m 來產生^M,$是指句尾這個是正規表示法吧?
想要字串:
空的,因為要刪掉,所以留空。

最後面還有一個g 也是全域,跟%有些微差別,但沒空查,筆記最重要的是實用。

20090212註: 直接用dos2unix 就可以搞定了 xd


曾經因為一個如果手裡沒有劍的怪廣告哭笑不得。此後,廣告界捲一陣奇風異格,時間久了也就習慣了,不再為文,因為不值得記錄。

因此

殺...殺很大,殺不用錢
啤酒?綠茶? 好喝好喝 好喝好喝
切切切切切切切切切 油切

沒有什麼能夠撼動已溶入白痴界的在下。

直到...




還有....


於是,在下被徹底打敗。


2009年1月23日 星期五

太久沒聽歌,今天沒什麼心情上班(要過年了),聽聽歌也不錯。

紅玫瑰


愛情轉移


K歌之王


2009年1月20日 星期二

原則上,本blog不會純轉載他人文章。

但這篇真的是不轉不行,大家不要每次看到我的英文名就覺得我是在亂拼。

這可是真有其名,而且是菜市仔名 ok?

  根據報導前些日子剛創下韓國電影史上票房最高紀錄的《太極旗—生死兄弟》即將在台上映,主角張東健與元斌將隨片來台宣傳。雖然我對韓劇或韓國電影一向興趣缺缺,不過這部細膩刻畫戰爭如何改變一對年輕兄弟對生命的價值觀的電影的確蠻吸引我的。此外,對於張東健(장동건)這個名字也感到好奇,因為這個名字不像車仁表或姜帝圭等名字一看就知道是韓國名字,張東健反而有點像台灣人的名字。東健這樣的名字在台灣應該蠻常見的,譬如:中研院植物所的黃東健博士、海洋大學海研所研究生鄭東健等等。東是東方、健是健康的意思,所以在台灣叫東健的人和在韓國叫동건的人就算是同名了!

前一陣子我看了一本書:『人名的世界地圖』,我才發現,原來在英文名字中,這種同義但不同形式的情形就更常見了。以美國菜市ㄚ名John(約翰)來說,John源自古希伯來文,意思是『上帝是仁慈的』,如以《變臉》一片著名的美國影星約翰屈伏塔(John Travolta)等。John這個名字到了愛爾蘭語就變成了家喻戶曉的名字Sean(尚恩),如飾演007第一代James Bond的史恩康納萊(Sean Connery);而John轉成蘇格蘭語就變成Ian(伊安),譬如飾演魔戒系列甘道夫一角的伊安麥克連(Ian McKellen)。Sean與Ian在當地都有為數不少的人把它當作名字。

當『上帝是仁慈的』名字John到了德國依舊受到歡迎,轉成德語變成了德國有名的菜市場名字Hans(漢斯),譬如為《獅子王》、《絕地任務》配樂的著名電影配樂家漢斯季默(Hans Zimmer)正是德國人。在法語裡則變成了Jean(尚),如演出《酷斯拉》等片的法國著名影星尚雷諾(Jean Reno)。而西班牙語形式則是Juan(胡安),如《阿根廷別為我哭泣》裡的阿根廷總統裴隆Juan Peron。John來到義大利,就成了常見的名字Giovanni(喬凡尼),譬如在《搶救雷恩大兵》裡飾演醫官的影星喬凡尼瑞比西(Giovanni Ribisi)等。在俄國及東歐地區最常見的代表性名字Ivan(伊凡),也正是John的俄語名字形式,譬如執導電影《六天七夜》、《進化特區》的捷克籍導演伊凡瑞特曼(Ivan Reitman)等。

這麼說來,無論是約翰屈伏塔、史恩康納萊、伊安麥克連,還是漢斯季默、尚雷諾、喬凡泥瑞比西……原來他們都算是同名。

原來他們都是約翰!


PS:『人名的世界地圖』一書由廿一世紀研究會編著、張佩茹翻譯,由時報文化出版發行,是一本挺有趣的書唷~有興趣的人可以看看。

原文出自:原來他們都是約翰


總結:
John(美), Sean(愛爾蘭), Ian(蘇格蘭), Hans(德), Jean(法), Juan(西), Giovanni(義), Ivan(俄), 皆為上帝是仁慈的




總網頁瀏覽量