Month: April 2012

MySQL: 限制存取單一資料庫

Posted by – April 16, 2012

從客戶那邊拿到一份巨大的資料庫備份,解壓縮後的 .sql 文字檔接近  1GB。由於檔案很大,想要編輯或檢視內容都很不方便,就想說直接匯進測試用的資料庫。用了 source 指令後成功地匯入了,當下看起來也很正常。不過後來只要重開測試主機就會出現完全連不上資料庫的情況,而且屢試不爽,推測大概是客戶連同紀錄資料庫自身狀態的 information_schema 也一併匯出了。

問了客戶的工程師才知道他們匯入時會加指令來限制匯到哪個資料庫。語法如下:

mysql -u USERNAME -p PASSWORD --force --one-database DATABASE

登入 mysql 後再使用 source 匯入,此時若是碰到操作非指定 DB 的 statements 都會被自動略過。

總算順利搞定資料庫,繼續開發工作。又學到了一課。

後來去翻閱 MySQL 官方文件,其實只要加個 -o 就可以了,參考這篇

Sync Files and Folders Outside Dropbox Folder

Posted by – April 9, 2012

我是最近才開始用 Dropbox,雖然早就聽聞 Dropbox 的大名,但以前沒需求。實際有了需求才申請了 Dropbox,確實地感受到它強大的同步處理機制,如同它所宣稱的 Simplify your life,解決了我在三台 Windows,一台 MacOS 和一支 Android 手機間同步檔案的問題。

不過 Dropbox 的同步似乎限於它的資料夾,不能隨便選一個資料夾就設定同步。但是有一些檔案我並不想塞在 Dropbox 資料夾也希望能同步。這時候作業系統提供的檔案連結功能就派上用場了。微軟在 Windows Vista/7 的 NTFS 中提供了 Junction, Symbolic Link,作用等同於 Linux / Mac 下的 Symbolic Link,讓系統模擬出一組指向實際檔案位置的連結,藉此騙過應用程式。這個概念和 WinXP 時代以來就常用的捷徑 (shortcut) 不同,捷徑是無法騙過應用程式的,因為它實際上只是一個 .lnk 檔案。

使用 Symbolic Link 這種連結必須以指令的方式達成。以 Windows 7 為例,在命令提示列下輸入

mklink /D "C:\Users\Steve\Documents\Dropbox\DesiredFolder" "C:\Path\To\DesiredFolder"

在 MacOS 或 Linux 下使用 ln 指令,輸入

ln -s /path/to/desired-folder ~/Dropbox/desired-folder

或輸入以下的指令連結檔案

ln -s /path/to/desired-file ~/Dropbox/desired-file

使用這種連結要注意哦,要刪除連結的話,要先將檔案 copy 到別的位置再刪除連結,不然會連實際檔案都一併刪除。

順便廣告一下,如果有興趣申請 Dropbox,請使用我的推薦連結來幫我增加空間吧,大感恩。

http://db.tt/xR1WGV8h