2013年11月30日星期六

艇仔是罪人嗎(上)


近日在FACEBOOK某一個以香港會計人仕為主所組成的私人群組中,為了一連兩篇刊登在香港南華早報旗下的 EDUCATIONPOST 網站,有關香港會計業所出現的中間人現象及對執業會計師所造成的影響的文章而吵得非常熱鬧,這兩篇文章分別是"會計業「艇仔」風波"及"會計業「艇仔」風波-越做越爛"。
 
什麼是"艇仔"?
"艇仔"一詞來源而不甚可考,但應該是來源於上世紀八十年代初前,在香港水域上曾經出現的非法賭船毒船,及為他們在岸邊招攬客人的艇戶。非法集團為了賺取最大利潤及避免警方發現"拉人封艇",他們一般都是二十四小時營業及不會靠岸停泊的,因此必須找人承擔招攬和運送客人的風險。漸漸"艇仔"一詞則逐漸在香港成為"中間人"的代名詞。但要注意的是,"艇仔"一詞所代表的中間人性質是有"主動"的意思及與商品/服務供應商一方只有交易上的關係(術語一點的說法是:是雙方只有"要約""應約"關係),因此並非所有中間人都被稱為"艇仔"。

在會計業中,所謂"艇仔"的定義卻十分混亂,就是行內人也不能給出一個比較客觀的定義,但其中有三種比較主流的意見:工作範圍,分賬方式,風險的承擔。可是在我個人來說三種定義都有缺憾,難以據此來推斷"艇仔"是否對執業會計師造成損害。先來檢視一下這三種定義及其缺憾吧:

工作範圍-
此說是指"艇仔"除了替客戶完成簿記工作外,更進一步把核數的工作底稿完成,整理並制成財務報表供執業會計師簽署核實。其中最主要的爭論點是,這些核數的工作底稿是由非專業的人士準備,所以難以斷定是否準確及核數過程符合香港會計師公會所制定的相關守則及要求。他們認為,如果核數過程是由執業會計師的僱員負責,由於有專業人士在旁監督指導及檢閱工作底稿,因此俗稱"放飛機"的行為是不會出現的。亦由此可以推斷,經此程序下所得出的財務報表必定是準確無誤,絕非"艇仔"之流的出品可堪比擬。可是"放飛機"的行為是否"艇仔"獨有?再退一步說,"無心之失"是不是憑專業就可以杜絕?如果一間"艇仔"在準備核數工作底稿及制作財務報表時,是照足有關守則行事,那"艇仔"與否是不是真的那麼重要?也有部份人認為,"艇仔"與否可以用"盡責"及"濫收費用(劏客)"來界定。但是要問的是,如果一名執業會計師在執業過程中"不盡責"及"濫收費用",則這名執業會計師是否應該歸類為"艇仔"?循此思路推演,是否擁有"執業會計師"的資格是為"艇仔"與否的分界線?再進一步要問的是,是不是代表社會應該賦與"執業會計師"分配整個會計行業利益的權力?

分賬方式-
這是指"艇仔"與執業會計師就一份經審核的財務報表的收費分配比例。坊間傳聞分配比列有多種:艇六師四,艇七師三,甚至是客三艇四師三(我個人其實不甚明白"客"指的是誰,但這不是重點)。如果上述的收費分配比例為真,那代表負責所有核數工作底稿的"艇仔"可以分得核數費用的六成至七成,而執業會計師只需簽名核發財務報表則可以分得三成至四成。可同時香港很多執業會計師都會成立負責核數業務以外的商業服務的公司,這些公司中的簿記部門少不免也會承擔一部份的核數工作。那這些公司是不是"艇仔"?或許我們只以分配利潤的角度來看吧,"艇仔"只是具體化了存在一般執業會計師事務所內部的利潤分配機制,分配利潤本身難以斷定什麼是"艇仔"。

風險的承擔-
三點之中,風險的承擔應該是重中之重,但並非是那種流於表面的有牌沒牌的表述,而是有更深一層意思。表面的說法是指"艇仔"並非執業會計師,因此當一份經審核的財務報表或其所引伸出的商業交易發生問題時,"艇仔"可以輕鬆的免除所有責任,留下簽發報告的執業會計師面對後果。首先,這種所謂後果只是指面對香港會計師公會而言,我不相信在涉及刑事的案件之中,"艇仔"可以獨善其身的。但我們更加要深問的是,在有"艇仔"負擔大部份工作的情況下,為什麼執業會計師可以單憑簽名而佔去收費的三成?雖說法律賦與執業會計師核發財務報表的權力,但我們是不是可以視這三成的比例已經包括了執業會計師所需要面對的風險?如果答案是否定,那執業會計師是不是在說本身不應該承擔任何因其簽審發出的財務報表所引起的任何風險?

雖說以上三點都各有缺憾,但如果要判定執業會計師是否受"艇仔"的而遭受損失,我們則應該想像一間執業會計師事務所實為執業會計師與"艇仔"的合併體,繼而再問在這種混合安排下,執業會計師的簽名的價值,是否可以佔審計費用的三成或以上。簡單一點,即是否經營一間不靠"艇仔"的執業會計師事務所的淨利潤率是否可達三/四成。如果"艇仔"並未降低經營事務所的淨利潤率,指責"艇仔"的原因或許不是我們表面所看到的那麼簡單。

因此在綜合以上原因後,從而引伸出一個更直指核心的事實,就是"艇仔"中斷了執業會計師與顧客之間的連繫,並使執業會計師失去了從顧客身上尋找附加價值的機會。因此,對"艇仔"更有力的定義應該是:

"侵蝕執業會計師的定價能力的個人或團體"

先不論執業會計師的定價能力是否應該保護,但要指出的是執業會計師在這侵蝕過程中也扮演了一角:就是使會計行業中的"師爺"沉淪。沒了"師爺",好像減輕了經營負擔,但其實同時也降低了執業會計師(專業會計師也被連累了)在社會中的整體地位。

什麼是"師爺"?
香港以往有所謂"發三師"的說法,"發"是指發達,而"三師"則是指醫師(生),律師及會計師(主要是指"執業"的)。"發三師"的意思就是說在香港當上這三師之一必定會發達。而三師之中則只有醫生這一專業之下沒有出現"師爺"這一特別的工種。在嘗試解釋醫生沒有"師爺"的原因之前,先要說明什麼是"師爺"。

"師爺"可說是清朝時期幕賓與胥吏的混合體,然而當時胥吏是服務有絕對裁斷權的官員而非訟師,因為官員有權但亦雖依"大清律"及其所附的一千八百九十多條"例"文來裁斷是非量定刑罰。可是清朝卻規定生員成官前是不能論政的,造成的結果就是官員不熟條例而需要胥吏的協助。清官依賴胥吏的程度可見郭嵩燾的評論:"漢、唐以來,雖號為君主,然權力實不足,不能不有所分寄。故西漢與宰相、外戚共天下;東漢與太監、名士共天下;唐與后妃、藩鎮共天下;北宋與奸臣共天下;南宋與外國共天下;元與奸臣、番僧共天下;明與宰相、太監共天下;本朝則與胥吏共天下耳。"到了香港割讓與英國以後,英國人承習慣法的原則,對華人繼續依"大清律"來治理,但同時亦引入了英國的司法制度,這改變了民眾,訟師(律師)與官(法官)間的權力結構,亦改變了幕賓與胥吏的服務對象。

相對上述的大背景,更直接導致"師爺"出現的原因是來自"訴訟""事務"兩種律師的分家及律師的宣傳限制。訴訟律師必需透過事務律師轉介客戶及律師不可以公開宣傳,使到民眾難以認識及選擇律師,律師也像與世隔絕般無法找客戶。不用懂經濟學的也知道這是中間人"師爺"出場的大好時機。但是這裡的"師爺"與清朝的是有一項明顯的分別,就是他們的服務對象對法律的熟悉程度,這導致了現代"師爺"的角色與定位是類似公關與客戶管理專員。現代"師爺"必須交遊廣闊接觸社會上各階層的民眾,這是因為每個人不是時時刻刻都需要法律服務,代表了律師與師爺在市場是處於一種"被動"的狀態。簡單點說就要人家有需要才會上門找你,而你卻難以為自己創造需求。而"師爺"另一種角色是為律師籂選客戶。有客臨門也要籂選?是,這是和客戶同質性的程度與律師的能力及偏好有關。

雖然"師爺"和"艇仔"一樣,本身是不能夠向客戶提供完整服務的,但和"艇仔"不同的是"師爺"在擴展自己的人際網絡時是打著供應商的名義,因此可以說"師爺"是在利用供應商的法定權力創造的市場價值來營生。換句話說,就是"師爺"並沒有分散供應商的風險,他是減低了供應商的機會成本。

那醫生呢?為什麼醫生在面對差不多的限制時不需要代理人?首先,醫生的專科分工已經替他們籂選了顧客,而且專科醫生不一定需要門診醫生轉介客戶。我們習慣先看門診是因為我們缺少專業知識來分辨病徵;或許更重要的是經濟上的考量,你不會為了一處又紅又痒的皮膚而直接去看皮膚專科的吧。最基本的一點是,中間人代替不了看醫生這種體驗。你想想你家附近的門診診所,無論在商場中還是街角的,是不是都飾以大大的落地玻璃?就是現在我們對私隱日益重視,門診醫生都只是在玻璃貼上一層半透明的膠布來聊表他們對病人私隱的尊重。這是在某程度上,門診診所和餐廳所提供的體驗是相似的。"醫肚""醫肚"發明這詞的人的經濟觸角實在令人佩服。

說來說去都是律師醫生,那執業會計師呢?為什麼執業會計師也需要"師爺"?答案很簡單,因為整個會計師制度都是借鏡於律師制度的,當然也包括其中的限制及隨之以來的中間人。但在行業發展的過程中,有兩方面的因素使這兩項專業的議價能力差天共地:分配社會各階層利益的能力產品同質性程度。而這種差異,最終使執業會計師的"師爺"沉淪。沒了這分擔機會成本的人,執業會計師也在不知不覺間被迫直接面對市場。


2013年11月28日星期四

誰說人是理性的


這是一本有趣的經濟學科普書,可我作為一個熱愛經濟學的不學無術之人,書中好些觀點我是不敢苟同的。而更為嚴重的一點是作者以他眾多的小實驗來證明經濟學的最基本假設"人是理性的"是不準確的,是誤導的。但是,我將會試以下文以來反駁書中的一個例子,從而證明這個經濟學的基本假設是站得住腳的。

我所要反駁的實驗是本書中第三章中的免費朱古力實驗(頁93)。

實驗是這樣的,作者開設了一個攤檔販賣兩種朱古力,並在其上掛著一張大標示牌,寫著:"朱古力,一人限買一顆",但是標價則設計成要等受吸引的人走到檔前才看得到的大小,作者如此作法是為了避免所謂的自我選擇偏誤(見頁93註一)。作者販賣的兩種朱古力是:瑞士蓮松露朱古力及賀喜 Kiss 朱古力。

實驗一開始時兩款朱古力的售價分別是松露朱古力 0.15 美元和 Kiss 朱古力 0.01 美元,而顧客之中有 73% 選擇了前者,而後者則只有 27% 的人選擇。而當作者把兩款朱古力同時降價 0.01 美元後,即松露朱古力售 0.14 美元和 Kiss 朱古力免費派發,它們的受歡迎程度隨即變得非常不同:選擇松露朱古力的降至 31%,而選擇 Kiss 朱古力的則升至 69%(頁94)。看著這結果,我第一時間想到的是:為什麼沒有放棄選擇的人呢?在有免費選擇的情況中,我還可以理解沒有人放棄選擇,但是當兩項選擇都有代價的時候,沒有人放棄選擇則有點奇怪。我想或許是因為放棄選擇的人數太少,作者認為可以忽略不計;但另一個更壞的可能是,作者只計算成功完成實驗的人數!而如果作者真的只計算成功完成實驗的人數,而不計算放棄選擇的人,則整個實驗可說是不完整的。

可能是這次實驗可挑剔的地方實在是有點多, 所以作者在本章末附加了一頁"附錄"來解釋在什麼是經濟學上所謂的利益最大值。可我以個人之愚見是,這附錄突顯了經濟學中一個充滿陷阱的概念:效用。效用是什麼呢?經濟學家也不可能完全的無疑問的回答這個問題。因為效用是一種極其武斷的概念,以武斷的概念推導出來的答案,當然也只是一個武斷的答案。如果一些學者憑這些武斷的答案來論証自己的觀點,或許他們才是最不理性的一群。

要反駁這實驗,我使用的是更為基本的經濟學概念:機會成本。首先要指出的是,在經濟學中,機會成本才是真正的成本。而真正在選擇過程發揮影響力的是那一刻的"邊際(機會)成本",而之前已經付出的(機會)成本則為"上頭成本"。是時候進入本文的中心了。

假設你在路過時看到這實驗的標示牌,這時候你要作出一個選舉:
  1. 你要麼繼續向前走快點到達目的地,而這選擇的機會成本就是放棄買一顆朱古力滿足自己。
  2. 你要麼轉向攤檔走去,而這選擇的機會成本就是放棄快點到達目的地。

如果你選擇向前走忽視這買朱古力的機會,那故事就此結束。但當你選擇走向攤檔看到兩款朱古力及它們的售價時,你會面對三個選擇:
  1. 你花 0.15 美元買一顆松露朱古力,即你的機會成本是這 0.15 美元所能帶來的第二最高享受
  2. 你花 0.01 美元買一顆 Kiss 朱古力,即你的機會成本是這 0.01 美元所能帶來的第二最高享受
  3. 你不買任一款朱古力,即你的機會成本是吃掉一顆朱古力所能帶來的最高享受
在這階段,無論是作者還本人都認為人總體是理性的,因為我們在暗地裡都認為交易費用為零,即所有人都擁有市場上所有訊息,具體點就是我們假設所有人都知道 0.15 美元是不可能在市場其他地方買到一顆瑞士蓮松露朱古力。但在這樣的假設下,竟然還有 27% 的人選擇賀喜 Kiss 朱古力!因此,我們可以退一步來說,如果交易費用不為零,但總體來說我們都知道為得到瑞士蓮的朱古力的機會成本比得到賀喜的為高,於是乎我們可以這樣子說:
  • 瑞士蓮朱古力機會成本減賀喜朱古力機會成本大於 0.15 美元機會成本減0.01 美元機會成本, 所以有比較多的人選擇瑞士蓮朱古力
那 27% 的小眾呢?既然我們知道有交易費用,或許對這些人的選擇我們可以說成:
  • 瑞士蓮朱古力機會成本減賀喜朱古力機會成本少於多花 0.14 美元的機會成本
是不是很悶蛋很理性呢?那我們進入作者所謂的不理性的世界吧。同樣的情況下,就是你看到 Kiss 朱古力售價為零的時候,你還是要面對三個選擇:
  1. 你花 0.14 美元買一顆松露朱古力,即你的機會成本是這 0.14 美元所能帶來的第二最高享受
  2. 你花 0.00 美元取一顆 Kiss 朱古力,即你的機會成本是。。。我想了很久也想不出來,所以應該是零吧
  3. 你不買(取)任一款朱古力,即你的機會成本是吃掉一顆朱古力所能帶來的最高享受
第一選項及第三選項都有機會成本,唯獨第二選項沒有(這也是為什麼我在第三段中質疑在二者都要收費卻沒有人選擇放棄的原因),於是很理性地有 69% 的人選擇不花任何成本去享受一顆 Kiss 朱古力,而忽略了售價遠低於市價的瑞士蓮松露朱古力!簡單地說就是:
  • 機會成本大於零機會成本
如果真是要說人是不理性的,應該是另外那 31% 的人,因為對他們來說:
  • 0.14 美元的機會成本少於零機會成本
很不理性是不是?其實不然,這應該歸功於廣告行銷的效力。因為廣告行銷的作用,使到有 31% 的人在面對瑞士蓮松露朱古力時,覺得花 0.14 美元的機會成本為負值!深入一點說,如果交易費用為零,應該所有人都選擇零機會成本的選項;然而這實驗卻告訴我們交易費用,就算在如此單純的環境下,也可以是非常之高,甚至高得使花錢的機會成本變為負值。當然你可以說這不是廣告行銷的原因,而是各人的口味不同。可我要指出的是,要是我們真的重視品質甚於機會成本,那麼選擇松露朱古力的人不會從佔 73% 跌至 31% 之譜。如果此分析成理,我們甚至可以指出廣告行銷會增加個人的交易費用,而非傳統智慧說的有減少交易費用的效果(怪不得我們心底裡或多或少討厭廣告行銷)。

作者在這個實驗中指出,"免費"這兩個字的神奇魔力,使人們忘記了追求最大利益,而這一行為明顯地與經濟學的基本假設"人是理性的"有所衝突。因此作者認為要不是人是不理性的,就是人不一定會追求更大利益,從而推導出傳統經濟學是不能夠正確地解釋人類的行為。而我則認為傳統經濟學對人類行為是有莫大解釋能力的,只是其中概念很難正確掌握,而使到有些人認為經濟學只是象牙塔內的東西,與真實世界已經脫了節。

ISBN: 9789862166727
作者: 丹.艾瑞利 Dan Ariely
譯者: 周宜芳 林麗冠 郭貞伶
出版: 天下文化


後記:寫文章比口頭辨論對思考一些抽象的概念更有益處。寫這篇文章時,我腦內好像重覆看了一遍這二十多年來閱讀過的經濟學論著。文中有幾點我本想多寫,可是連續想了三四天後,人變得有點累又有點懶,他日有機會才再寫吧。



2013年11月22日星期五

自製記帳軟件 - 使用 MySQL Workbench 6 製作 MySQL Model 初探

如果你只想知道如何設計製作 MySQL Model (Schema) , 不安裝 MySQL Server 是不會有什麼影響的. 但, 沒有 MySQL Server 你就不可能測試你自己所設計的 Schema 是否可行. 雖然我本身已有多年設計 Schema 的經驗, 可是在一些比較抽象複雜的設計中, 我還是會在設計好一部份就立即放上 Server 看看自己的設想是否可行, 檢視了才繼續設計其他部份. 有時候甚至會在 Microsoft Access 中先簡單地建立一些 User Input Dialog 看看在變動資料時是不是一如我所預料的. 


按一下 "Models" 旁邊的加號, 就可以新增一個 Model 了


空白的 Model


Double Click 在黃色圓筒旁的 "mydb" 就會出現 model 的屬性


除了改改 model 的名字外, 你或許也應該留意一下 Collation.
在 MySQL Workbench 6 中, 當你新增一個 model 時, 這個新 model 的預設 Collation 是
"utf8-utf8_general_ci" 
那這個 Collation 是什麼呢? 它就是你的 model 的編碼設定. 簡單地說, 這 Collation 就是控制由這個 model 所創建的 database 可以接受什麼文字的資料輸入. 由於我預期未來使用者會輸入CJK 文字, 而且效能對會計記帳而言並非重點, 所以我將 Collation 的值改成了
"utf8-utf8_unicode_ci"



先儲存一下吧!


開始建立 Table 囉. 如果你是新手, 我建議你這一階段先不要理會
什麼是 Datatype, PK, NN, UQ, BIN 及 UN 等東西. 你唯一要做好的事情, 就是根據 Database Normalization 來規劃好你的 Model. 什麼是 Database Normalization? 簡單一點的說法是:
"把所有會重複的資料都獨立成一個 Table"

2013年11月20日星期三

Tizen 的未來會否安泰豐澤?


Samsung 憑藉優秀的市場策略及 Google Android 打下了全球三份之一 的 Smart Phone 市場. 在這背景之下, 為什麼還要發展另一平台 Tizen 呢? Samsung 將會使用什麼策略來推動 Tizen? Tizen 是否能夠挑戰這個綠色機器人呢? 如果 Tizen 能夠在市場上佔一席位, 誰才是最大的得益者?

安泰豐澤
Samsung 作為製造商, 盈利是來自硬件的銷售, 一旦顧客買走了一支流動裝置, 該裝置就不會再為 Samsung 創造什麼收益, 因為後續收益都是裝置所搭載的 Android 的主人所擁有. 於是, 我們可以把 Samsung 看成是一個以體力換取收益的藍領工人, 而 Google 就像是坐在辦公室享受著工人所創造的成果的老闆. 但是與普通藍領不同的是, Samsung 還是要花大錢去為自己的產品打市場, 但是在市場上所取得的成果卻不能獨享. 這當然會令 Samsung 心中有刺. 

如果大家擁有 Samsung Galaxy 系列的任何產品, 應該都會發現預載了一款叫  Samsung Apps 的應用軟件. 這就是 Samsung 希望能夠創造後續營收的自家 App 市場. 但是大家可有使用過呢? 我相信沒有幾人有使用過這個 App, 而我是登記了但從來沒有使用過它來下載任何 Apps. 

既然在 Android 平台上不能取得所希望擁有的, 那唯有另闢溪徑了.

暗渡陳倉 潛龍勿用
大費周張地弄了一個新的平台 Tizen, Samsung 依然繼續將主力放在運行 Android 的流動裝置上.我相信他們是吸收了 Nokia 及 Blackberry 的經驗, 知道在現時市況上, 貿然跟 Android 分道揚鑣只會落得一敗塗地. 更重要一點是, Tizen 還處於燒錢階段, 在在需財啊. 於是, Tizen 的初試啼聲是落在 Samsung NX300M 相機的身上.

我個人覺得這是一個很高明的決定. 首先, 相機的螢幕大小相對是比較接近現時中低階 Smart Phone 的, 另外相機也是一種有多重身份的流動裝置, 它既是個人的創作或記錄工具, 也有社交聯誼的功效. 如果 Tizen 的平台上能夠提供不同的攝影特殊效果或簡單修改相片的 App, 途過 wi-fi 把相片立即分享到網上社交平台, 除了不能即時通話外, 它應該可以滿足了社交方面的要求. 而另一方面, 大家使用相機的習慣也減低了 Tizen 所要面對的挑戰. 我想大家不會為了玩遊戲而浪費相機的電量吧? 於是 Tizen 在 NX300M 身上集中優化攝影方面的功能, 而不需要提供全面又大量的 App 與功能來討好使用者. Microsoft 在流動裝置市場的失敗, 就是源於太貪心, 但又未能給予使用者一種超越 iOS 或 Android 的使用體驗. 

雖然 Tizen 暫時所面對的群眾很少, 卻有機會累積使用者體驗與口碑, 為下一波產品做好準備. 那下一波搭載 Tizen 的產品是什麼呢? 我想很大機會是 Smart TV. 

鄉村包圍城市
先來看看 Tizen 背後有什麼支持者: Fujitsu, Huawei, Intel Corporation, KT, NEC CASIO Mobile Communications, NTT DOCOMO, Orange, Panasonic Mobile Communications, Samsung, SK Telecom, Sprint 及 Vodafone. 先說說這陣營內的一票電訊網絡商 (尤其是日本的), 我想他們跟 Samsung 一樣, 對 Google 坐享源源不絕的收益同樣心中有刺. 而硬件廠商中, 最有代表性的自然是 Intel. 在流動裝置的晶片市場中, 採用 ARM 架構的晶片把 Intel 旗下的晶片殺得片甲不留. 如果 Intel 所提倡的 Tizen 能夠在智能家用/ 流動裝置市場中佔一席位, 必定可以拉抬 Intel 晶片的市佔率, 並補償在個人電腦市場逐漸萎縮時所帶來的損失.

同時, 如果 Tizen 成功落戶家電, 汽車及相機等生活裝置, 加上與 Android apps 相容, 會不會能夠衝擊 Google 一手建立的 Android 生態環境? 看著 Fujitsu, CASIO, Panasonic 及 Samsung 等家電/ 儀器巨頭的名字, 我想在東北亞地區或許是有可能的. 除非 Tizen 能夠及早把 Sony 及一些中國大陸家電巨頭拉入伙, 否則全面挑戰 Google 的機會是很有限的.

再進一步, 如果 Tizen 能夠放棄一時三刻在流動裝置運行的快感, 專注於三吋, 七吋及四十吋等三到四種固定尺寸的螢幕上發展, 或許能夠規避 Android 常為人究病的碎片化問題, 甚至化被動為主動成為未來家居/ 生活智能裝置的標準奠定者, 從而迫使 Google 加入一個更加廣闊更多元的生態環境.

如果...
如果 Tizen 只是在流動裝置上成功發展, 則可能進一步使 Android 市場更混亂, 更碎片化. 在這情況下, 受益的將會是 Google, Samsung, Sony, Microsoft 及 Apple 等在各自領域擁有市場主導位置的巨頭, 而傳統的硬件製造商及創新的小公司則會受苦最深. 而最終的消費者或許會受益一時的價格戰爭, 但是隨著選擇的減少, 我們未來的網絡生活可能就操縱在這幾間公司的手上.

作為一名平凡的消費者, 廠商間多點競爭, 擁有多點選擇, 始終是最好的事.


2013年11月14日星期四

自製記帳軟件 - 簡易安裝 MySQL Workbench 6 (CentOS)


Linux 發展到今時今日已經變得十分之 User Friendly. 除了一些電腦遊戲外, 使用它來處理一般日常工作已很容易, 更不用提 OS X 及 Android 這兩個作業系統在 User Experience 上所取得的成就. 除了 Linux 日益易用, Oracle 在接收 MySQL 後也並未停下她的開發的步伐. 雖然開源社區對  MySQL 的未來抱持悲觀的態度, 但是我畢竟只是一名普通的用家, 誰家好用又免費就用誰家的吧.

對於所有被 Microsoft 寵壞了的使用者來說, 以指令界面來控制電腦已經不甚容易, 更何況設計複雜的邏輯結構? 所以 MySQL Workbench 對我們來說簡直就是恩物! Workbench 賦予了我們一條管理 MySQL 的捷徑, 甚至讓我們有機會一探 Data Architect 的世界.

就讓我們開始在 CentOS 6.4 上安裝 MySQL Workbench 6 吧. 第一步當然是要到 MySQL Workbench 的官網看看. 當然心急的也可以直接到下載那一頁的...


要在 CentOS 6.4 上安裝 MySQL Workbench 6 就要在 "Select Platform" 中選
"Red Hat Enterprise Linux 6 / Oracle Linux 6", 然後再點選 32bit / 64bit 版本來下載


如果你在下載時選擇 "執行" 系統會在完成後自動執行. (廢話!)
若你的選擇是 "儲存", 那你就要在完成後手動啟動那個安裝檔. (就是 Double Click 啦)
無論如何, 系統都會在執行前再問你一遍: Do you want to install this file?


由於 Linux 的元件庫十分龐大, 所以一般都不會在安裝系統時把所有東西都塞進來的, 因此當你在 Linux 中安裝任何新軟件/元件時, 系統都會檢查新軟件/元件 "依賴" 的軟件/元件是否齊備. 放心, 系統不會要求你自行下載的.


如果你依據上一篇 "簡易安裝 CentOS 6.4 及 MySQL" 來安裝 CentOS 的, 那此時系統應會要求你安裝 "C library for reading, creating, and modifying" 的, 按下 "Install" 繼續吧.


還記得 "root" 的密碼吧? 
MySQL Workbench 6 的安裝過程現已完成, 接下來就啟動她來看看吧.


按圖索驥


安裝好的 MySQL Server 呢?! 甭怕! 甭怕! 點一下在 MySQL Connections 旁的加號吧


什麼也先不要碰...真乖


直接點一點 "Test Connection", 應該是沒問題的...
確認沒問題後就可以按下 "OK" 關閉了


現在出現了一個叫 "localhost" 的 Connection, Double Click 它吧.


按一下左邊的 "Server Status" 吧


這就是你親手安裝的 MySQL Server 的運行狀況了. 
拍拍手給自己點鼓勵吧


點一下 "Server Status" 下方的 "Client Connection" 看看有誰連上了你的 MySQL Server
如果你看到如上圖般有數個 "root" 存在是很正常的, 可不要以為有壞人 hack 了你的系統


下一篇將會是設定 MySQL Server 的, 希望大家會繼續留意吧.

2013年11月12日星期二

自製記帳軟件 - 簡易安裝 CentOS 6.4 及 MySQL


說了那麼多不著邊際的東西, 這一次就實實在在的跟大家講解一下 CentOS 6.4 的安裝過程吧. 上圖就是這次的主角: 2005年出廠的 Lenovo ThinkPad Z60T. 看著那個 IBM 商標, 總想起一句很經典的歌詞: "變幻原是永恆". 不過話說回來, ThinkPad 的工藝真是好. 好像這圖中的電腦, 她跟了我八個年頭, 除了電池壞了以外, 其他機能都仍然能夠好好地運作. 而且在這次作示範機器之前, 她作為一台 BitTorrent Client 日夜不停的運行了四年 (OS 是 Ubuntu), 為我們這幫遊子提供了大量的娛樂.

回歸正題, 要安裝 CentOS, 首先你要去 CentOS 網頁下載 CD 或 DVD 的 ISO 檔.
可供下載 CentOS ISO 的 Mirror Sites 列表
如果你的網絡連線不高, 我建議你使用 Torrent 來下載完整的 ISO 檔. 完成後, 就要把那剛下載好的 ISO 檔燒錄到 CD 或 DVD. 在 Windows 7 Professional 中只需以滑鼠右鍵點選 (Right Click) 要燒錄的 ISO 檔, 再選擇 Burn Disc Image (如下圖), 然後一步一步根據指示便可成功製作 CentOS 的安裝 CD 或 DVD.


 如果你的 Windows 版本沒有這個內建功能, 那你就要自己在網絡上下載一個來燒了.
"FREE ISO BURNER" 在GOOGLE 上的搜尋結果
把 CentOS ISO Disk 1 放進要安裝的電腦內, 重啟電腦後應該不久就會看到如下圖的畫面. 如果你的電腦沒有讀取 ISO Disk, 那你需要到BIOS 中把 CD/DVD-ROM 的 Boot Sequence 改排在 HDD 之前, 儲存設定後再重啟電腦即可.


選 "Install or upgrade an existing system"


充滿外星文的過場畫面


選 "OK" 系統會先檢查你的安裝安裝 CD 或 DVD 有沒有缺憾;
選 "Skip" 則系統會直接開始安裝. 


歡迎! 歡迎! 


除了 "NEXT" 外, 我們還有什麼選擇? 那就按下去吧!


強烈建議選擇英文! 


選擇 Basic Storage Devices 


如果你不是從 CentOS 以往的版本升級, 請選擇 Fresh Installation


如無必要就不要改了


這個請根據你的真實所在地或網絡內 (LAN) 的其他電腦的地區設定選擇時區


設定 "root" 的密碼

請不要忘記這組密碼! 還有, 記著這個 "root" 是作業系統內的擁有最大權限的戶口


如果你無需保留電腦內的其他作業系統, 選 "Use All Space" 吧


這個畫面只會在你有多於一個硬碟 (HDD) 時才會出現.

如果你的電腦內安裝了兩個硬碟, 而你又把他們全都移到右邊, 那在 CentOS 安裝完成之後你不會看到兩個分開的硬碟 (即是好像 Windows 內的 "C:" "D:" 等), 而是不同的 Folder. 

這代表你不可以隨便的移除硬碟, 因此你要在決定前好好考慮.


按了後就沒有回頭路了...


點選 "Desktop" 及勾選 "Customize now"


點選 "Database" 內的 "MySQL Database client" 及 "MySQL Database server"


終於接近尾聲了


再一次歡迎


建立第一個使用者. 要留意的是這個使用者不是 "root".

根據所有有關 Linux 的文件, 都強烈地呼籲用家不要用 "root" 來作日常工作之用, 現在大部份的 Linux distributions 都是在安裝時要求用家先設好 "root" 的密碼, 然後在安裝後的設定階段強迫使用者建立一個有限權限的使用者戶口. 


讓 Server 的時間準確是很重要的事, 所以請勾選 "Synchronize date and time over the network"

除了 Server 的時間要準確外, 讓整個網絡內 (LAN) 電腦的時間統一也很重要啊. Windows 系統內也有差不多的功能, 把所有電腦都指向同一組 NTP Servers.


做個乖孩子, 什麼也不要碰! 繼續下一步...


這時系統會要求重啟電腦, 乖乖的按指示做吧


"人在風暴中, 無奈的打轉..."


登入吧! 菜鳥! 


請按圖索驥...


順字母找出 "mysqld", 然後按上方的 "Enable"


還記得那個 "root" 的密碼嗎? 輸入到空格內吧


"Enable" 了便 "Start" 吧


留意右邊的 Service 狀態:
"This service is enabled" 及 "This service is running"


請再一次按圖索驥...


乖, 我輸入什麼, 你就跟著輸入, 然後按 "Enter" 


如果你看到上述畫面, 恭喜你! 你已經安裝了一台運行著 MySQL 的 Linux 機器了!
現在輸入 "exit" 及按 "Enter" 退出吧

要是你沒有看到上述畫面或出現任何錯誤訊息, 請先確定 "mysqld" 這個 "Service" 是不是已經 "enabled" 及 "running". 如果你的答案是肯定的, 那先重啟一次電腦. 要是重啟後還是不成, 那就從第一步開始再試吧. 對於未接觸過 Linux 的朋友, 上網找資料參考所花的時間必定比重灌一次多啊, 而且未必可以解決你所遇到的困難.

下一篇將會是安裝 MySQL Workbench 6 的, 希望大家會留意吧.