mysql 數據庫服務器可以運行在基於 IBM POWER 和 PowerPC 處理器的服務上的 Linux(統稱為 Linux on POWER)中,通過本文了解其可用性。作為面向在 Linux on POWER 中使用 MySQL 的應用程序開發者的一篇簡短指南,本文適合那些熟悉自己的系統環境、網絡、媒體設計和磁盤資源的 MySQL 開發者和數據庫管理員閱讀。
簡介 MySQL 是當前最為流行的開放源代碼數據庫之一。可以遵循商業化及開放源代碼雙重許可的模型來使用它。從嵌入式設備到集群企業環境,MySQL 在很多種類的應用程序中得到了應用。 POWER5? 處理器是 IBM PPC? AS 體系結構的最新 64-位 實現(版本 2.02)。它與所有 PPC 和 PPC AS 應用程序級代碼都是二進制兼容的(binary compatible)。POWER5 芯片設計用於非常高頻率的操作,最高可達 2.0 GHz。Power 體系結構既支持 64-位 尋址,也支持 32-位 尋址。早期的實現使用的是 32-位 子集,只支持 32-位 應用程序。自 1995 年以來,64-位 處理器實現了完整的體系結構,支持與現有 32-位 應用程序的完全二進制應用程序兼容,並完全支持新的 64-位 應用程序。64-位 POWER 和 PPC 芯片已經應用於 IBM? eServer? iSeries?、 pSeries? OpenPower? 和 BladeCenter? JS20 服務器,以及 Apple 的 G5 硬件。 POWER5 體系結構是對 POWER4 體系結構的改進,但是保持了二進制與結構的兼容性。相同的管道結構使得為 POWER4 所生成的處理器代碼可以同樣好地應用於基於 POWER5 處理器的系統。POWER5 的關鍵特性包括微分區(micro-partitioning)和同步多線程(Simultaneous Multi-threading)。 Linux 已經在商業和技術計算環境中占據了重要地位,並迅速為多種業務所接受。IBM Linux Technology Center(LTC)是當前世界上最主要的企業 Linux 開發組織,他們主要致力於在 POWER 體系結構上為所有主流 Linux 發行版本提供開發、支持和改進。與來自開放源代碼社區的傳統支持一道,獨立軟件提供商(Independent software vendor,ISV)和客戶幫助此類支持能夠提供一個輔助開發者的空前網絡。
MySQL 及相關組件 傳統上,在所有主流 Linux 發行版本中都會包含 MySQL。用於 POWER 上的主流 LInux 發行版本,比如 Red Hat Enterprise Linux 和 SUSE LINUX Enterprise Server,也不例外。 雖然不同的 Linux 發行版本中會有不同的 MySQL 和 MySQL 產品軟件包和版本,不過應該都會有下面這些: 數據庫服務器(Database Server) 數據庫客戶機(Database Client) 流行編程語言的接口與擴展,比如 Java、C/C++、Python、Perl、PHP,等等 用於不同產品和開發 API 的程序庫、模塊和插件 與 MySQL 相關的其他工具 要獲得產品的詳細列表和描述,請參考在 參考資料 中列出的最主要的 MySQL 資源中心,MySQL.com。 MySQL.com Web 站點是 MySQL 資料和產品下載的主要資源,其中包括用於 Linux on POWER 的下載。從該站點上可以下載用於 Linux on POWER 的已編譯的最新 MySQL 版本和相關產品,同樣也可以下載源代碼。 可以以若干種方式獲得 MySQL 數據庫。有一些可以遵循雙重的商業和開放源代碼許可獲得,有一些只能遵循某個商業許可獲得。要獲得更多信息,請參考 MySQL 數據庫服務器網頁(參閱 參考資料)。
操作系統和硬件 本文主要涉及了 IBM 支持的、用於 POWER 硬件的兩個 Linux on POWER 發行版本: Red Hat Enterprise Linux SUSE LINUX Enterprise Server 用於 MySQL for Linux on POWER 也可以運行在其他 Linux 發行版本上,比如 Yellow Dog Linux、Y-HPC、Debian 和很多其他運行於 IBM 和 Apple 所制造的 POWER 和 PPC 硬件上的發行版本。 在 Linux on POWER 上安裝 MySQL 在 Linux on POWER 上安裝 MySQL 與在任何其他體系結構上的 Linux 操作系統中安裝沒有區別。 如果您使用的是 POWER 上 Linux 發行版本中所包含的 MySQL 程序包,那麼安裝 MySQL 非常簡單,只需要通過發行版本的媒介安裝所需的 rpm 軟件包。MySQL.com Web 站點也以 Linux 社區通常接受的壓縮格式提供了 POWER 和 PPC 上 Linux 的下載。 MySQL 本身及很多工具的源代碼只是遵循開放源代碼許可提供,可以在 POWER 上 Linux 中使用 GNU Compiler Collection(GCC)方便地進行編譯。
MySQL 管理工具 有一些 MySQL 管理工具,它們使用交互式圖形界面,簡化了 MySQL 數據庫的管理。 MySQL Administrator MySQL Administrator 讓您能夠配置、備份/恢復、控制您的數據庫以及 MySQL 服務器環境。 圖 1 是在 POWER 上 Linux SLES 9 中運行的 MySQL Administrator 截圖,展示了我們將要在下一節中創建的數據庫結構。 圖 1. MySQL Administrator 窗口 可以在 POWER 上 Linux 中編譯 MySQL Administrator 源代碼。要獲得關於 MySQL Administrator 的更多資料,請訪問 MySQL Administrator 網頁。(參閱 參考資料。) MySQL 查詢浏覽器(Query Browser) MySQL 查詢浏覽器是一個易用的圖形化工具,可以用來創建、執行和優化 MySQL 中的查詢。圖 2 給出了在 POWER 上 Linux SLES 9 中運行的 MySQL 查詢浏覽器窗口截圖。 圖 2. MySQL 查詢浏覽器 類似於 MySQL Administrator,也可以獲得 MySQL 查詢浏覽器的源代碼並在 Linux on POWER 中編譯它。要獲得關於 MySQL 查詢浏覽器的更多資料,請訪問 MySQL 查詢浏覽器網頁。(參閱 參考資料。) phpMyAdmin phpMyAdmin 是另一個 MySQL 管理和控制工具。這個工具完全用 PHP 編寫,如果有以下組件的支持,可以在任意 Linux 發行版本上應用: PHP 運行期環境 具有 PHP 模塊的 Apache web 服務器 PHP-MySQL 模塊 Linux on POWER 發行版本默認會附帶這些組件。配置很簡單,在 phpMyAdmin 附帶的文檔中詳細地進行了描述。 圖 3 是在 Linux on POWER SLES 9 中運行的 phpMyAdmin 的截圖。 圖 3. phpMyAdmin 要獲得更多資料並下載 phpMyAdmin,請訪問 phpMyAdmin Web 站點。(參閱 參考資料。) 遷移 MySQL 如果使用前面提到的管理工具,遷移 MySQL 數據庫非常簡單,因為 MySQL 數據庫表結構保存在文件中,您可以將它們備份和拷貝到其他系統。要獲得更多資料,請參考 MySQL 文檔。 創建 MySQL 數據庫 為了介紹一些關鍵的 MySQL 概念以及一些您可以在 MySQL 中執行的基本任務,文章的這一節將討論一個簡單的數據庫設計。 數據庫設計 此示例研究了一個簡單的數據庫,它保持了對某個 IT specialists contracting company 日常活動的追蹤。 圖 4 是一個實體關系圖(Entity Relational Diagram,ERD),給出了公司簡化的數據需求及操作宏觀視圖。 圖 4. IT Specialists contracting company 數據庫 公司約定 IT 專家去從事不同客戶的項目,並基於已經確定的價格按小時收取所提供服務的費用。JOB 表保持對客戶為服務付費的每小時價格的追蹤,那些價格取決於工作的類型。EMPLOYEE 表保持對雇員信息的追蹤,其中包括雇員的職位,是指向 JOB 表中一個條目的外部關鍵字。JOB 表與 EMPLOYEE 表是 1:M 的任意關系。有可能存在某個職位而並沒有相應雇員。另一方面,雇員需要擁有恰好一個主要職位。 PROJECT 表保存的是關於此公司所涉及到的項目的數據。一個項目必須恰好由公司的一位雇員來管理。有可能某個雇員會管理多於一個項目。不過,並不是每個雇員都會管理項目。 每位雇員會得到一張定單表格,在那張表格上他們記錄每天為客戶的具體項目工作了多少個小時,每小時價格是多少,以及要向客戶收取的總費用。 一個雇員可以一次被指派到多個項目,或者一個項目都不指派。可能會有多個雇員為某個項目工作,或者一個也沒有。這個 N:N 的關系通過聯合實體 ORDERFORM 實現。 數據庫中的所有表都按第三范式(3rd Normal Form,3NF)進行了標准化,所以我們可以開始創建基於前面的 ERD 的數據庫結構。 創建數據庫 首先,您需要啟動 MySQL 客戶機,並登錄進入 MySQL: shell> mysql -h host -u user -p Enter passWord: ******** 成功地登錄進入並獲得 MySQL 命令行界面提示符後,可以開始創建數據庫,如下: mysql> CREATE DATABASE CONTRACTING; Query OK, 1 row affected (0.00 sec) 要確認 CONTRACTING 數據已經創建,執行下面的命令並得到如下的輸出: mysql> SHOW DATABASES; +-------------+ Database +-------------+ CONTRACTING mysql test +-------------+ 注意,SQL 代碼和 MySQL 內部命令的大寫是可選的,但是數據庫的名稱、表和列都對大小寫敏感。例如,名為 “TEST" 的數據庫不同於名為 “test" 的數據庫。 現在需要切換到新創建的數據庫: mysql> USE CONTRACTING Database change