第一步——安裝MySQL
到http://dev.mysql.com/downloads/ 下載這個服務器、MySQL GUI工具和MySQL ODBC驅動。你可以選擇的服務器有:5.0, 5.1或6.0。然後安裝它們。
安裝過程中的注意事項:
你的防火牆應該設置為允許通過3306端口連接。
將MySQL作為一個服務來運行(可以選擇命令行方式)。
MySQL安裝默認username/login = root和server = localhost。
MySQL提供了對存儲引擎/表類型的選擇——主要是MySAM和InnoDb。後者看起來更像是Access,它具有事務和外鍵,所以這篇文章中我們使用這種方式。
具有用戶和安全選項。不要忘了記錄所有的密碼。
還有要安裝Bullzip Access to MySQL和Dreamcoder為之後使用。
第二步——將表從Access移到MySQL
使用Bullzip將後台數據表轉移到MySQL,或打開你的數據庫並通過ODBC將你的數據導出。
要注意的事項:
MySQL不能識別Access默認用於字段的函數(例如Date/Time字段中的Now()和Date()函數):它們可能被刪除或者表被拒絕。推薦你在轉移/導出之前刪除它們。
Access的autonumber字段與MySQL的auto_increment字段不一致。Bullzip在轉移時會進行轉換,而ODBC則不會。
Access數據類型會轉換為類似的MySQL數據類型。但是,在MySQL中范圍更大,你可能希望之後再改變它們。
Access的“ole object”變成了MySQL中的“blob”。因為一個OLE服務器問題,我們將blobs改為longtext。
步驟三——改變MySQL表(字段)
打開Dreamcoder或MySQL管理器(一個GUI工具)。如果你熟悉SQL Server,那麼把這些看作是Enterprise或SQL Server management studio express界面。
連接到這個轉移/導出的數據庫。
圖1. Dreamcoder “數據庫——連接”
按順序打開每一個表並檢查:
Autonumber字段是auto_increment。
每一個表有一個主鍵(一個或多個字段)(在Dreamcoder中,創建-新約束)。否則,你需要在連接的時候指定,不然所連接的表將不能更新。
字段默認是正確的。我們檢查與前端數據登入默認值的一致性。
是否允許Null值。
數據類型是否如預期。
有一個時間戳字段,默認為current_time(一般是表中的最後一個字段)。
圖2. 編輯表
步驟四——建立你的MySQL備份系統
打開MySQL管理器並備份你的MySQL數據庫。這將schema和數據保存到一個.sql文件。如果你想在另一個計算機上建立數據庫,那麼在那台機器上安裝一個MySQL服務器,然後將這個.sql文件的一個拷貝恢復到這個新服務器上。
圖 3. 備份MySQL
步驟五——從前端鏈到MySQL
打開你的Access前端。如果你已經鏈接到一個Access後台,那麼你不能使用這個已被鏈接的表管理器來改到一個ODBC數據源。所以刪除到Access後台的鏈接,並通過ODBC鏈接到MySQL後台。類似的,一旦鏈接到了ODBC數據源,那麼這個已鏈接的表管理器就只提供ODBC數據源的選項。
在建立ODBC數據源時,在ODBC配置中——Advanced ——Flags1,勾上Return Matching Rows和Allow Big Results。
圖4. ODBC數據源
性能
到目前的觀察:
使用一個MySQL後台的Access 97比使用相同後台的Access 2007明顯快得多。
最初這個混合和列表記錄源使用記錄源查詢構建器。由於某種原因,使用用戶創建的查詢來替代它們可以獲得速度上的顯著提高。
在現在的配置中,Access 2007比使用MySQL後台的要快一點。