楼主: oraclelang

MySQL中文參考手冊

[复制链接]
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
91#
 楼主| 发表于 2006-4-29 10:11 | 只看该作者
3.6.2 擴展電子郵件支持
擴展的電子郵件支持包含了基本的電子郵件支持的一切,並增加:

你的電子郵件將在基本的電子郵件支持用戶和非注冊用戶的郵件之前處理。
你對 MySQL 進一步的開發建議將得到更大程度的考慮,適合MySQL基本目標的簡單擴充在幾天時間內實現,有了擴展的電子郵件支持,你已經幫助了MySQL進一步的開發。
我們會包括一個用于快速生成壓縮只讀數據庫的myisampack包裝工具的二進制版本。目前的服務器支持讀取這樣的數據庫但不包括用于生成它們的包裝的工具。
擴充的電子郵件支持覆蓋的典型問題是:
我們將回答並且(在原因內)解決與 MySQL可能的錯誤(bug)相關的問題。一旦錯誤被發現並且改正,我們將郵寄補丁。
當你在支持的平台上從源代碼或二進制的分發安裝MySQL時,我們將幫助解決意外的問題。
我們將回答有關缺少的功能的問題並且提供如何解決它的提示。
我們將提供針對你的實際情況優化mysqld的提示。
你被允許影響 MySQL TODO表上的項目的優先級,這將保証你確實需要的功能將更快地被實現。

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
92#
 楼主| 发表于 2006-4-29 10:12 | 只看该作者
3.6.3 登錄支持
登錄支持包含了擴展的電子郵件支持的一切,並增加:

你的電子郵件甚至將在擴展的電子郵件支持用戶的郵件之前被處理。
你對 MySQL 進一步的開發建議將得到更高程度地考慮,可在幾小時內被實現而且適合MySQL基本目標的可行的擴展將盡快實現。
如果你有一個很特定的問題,我們可以嘗試登錄你的系統以解決“那個地方”的問題。
象任何數據庫供應商一樣,我們不能保証我們能從破壞了的數據庫表中挽救任何數據,但是如果發生最糟的情況,我們將幫助你盡可能挽救。 MySQL 業已証明自己很可靠,但是由于超過我們控制範圍的情況,任何事情都是可能的(例如,如果你的系統崩潰或某人執行一個kill -9殺死服務器)。
我們將在優化你的系統和查詢上提供啟示。
你允許打電話給一個 MySQL 開發者(適度地)並且討論你的 MySQL 相關的問題。

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
93#
 楼主| 发表于 2006-4-29 10:12 | 只看该作者
安裝MySQL
本章描述怎樣獲得並安裝MySQL:

對于你能從其獲得MySQL的站點列表,見4.1 怎樣獲得MySQL。
要了解支持哪些平台,見4.2 MySQL支持的操作系統。
可獲得MySQL的多個版本,以二進制代碼和源代碼形式分發。為了確定你應該使用的分發的版本和類型,見4.4 怎樣和何時發布更新版本。
針對二進制代碼和源代碼分發的安裝指令在4.6 安裝 MySQL 二進制代碼分發和4.7 安裝 MySQL 源代碼分發講述。每套指令均包含一個關于你可能涉及的系統特定問題的部分。
為安裝後期過程,見4.15 安裝後期的設置與測試。不管你是用一個二進制代碼還是源代碼分發來安裝MySQL,這些過程均適用。

4.1 怎樣獲得MySQL
檢查MySQL主頁獲得當前版本的信息

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
94#
 楼主| 发表于 2006-4-29 10:12 | 只看该作者
4.2 MySQL 支持的操作系統
我們使用 GNU Autoconf,因此將MySQL移植到所有使用 Posix 線程和一個 C++ 編譯器的現代系統是可能的。(僅僅為了編譯客戶代碼,只需要一個 C++ 編譯器而不是線程)。我們主要在Sun Solaris(版本 2.5 & 2.6)上使用並開發軟件本身,而RedHat Linux 5.0 居其次。

MySQL已經被報告在下列操作系統/線程包的組合上成功地編譯。注意,對很多操作系統,原生的線程支持僅工作于最新的版本。

有原生線程的AIX 4.x
包括 MIT-pthreads 包的BSDI 2.x
有原生線程的BSDI 3.0、3.1和4.x
有原生線程的DEC UNIX 4.x
包括MIT-pthreads包的FreeBSD 2.x
有原生程的FreeBSD 3.x
包括 MIT-pthreads 包的 HP-UX 10.20
有原生線程的 HP-UX 11.x 。
有 LinuxThreads 0.7.1 的 Linux 2.0 + 或glibc2.0.7
MacOS X 服務器
NetBSD 1.3/1.4 Intel 和 NetBSD 1.3 Alpha ( 需要 GNU make

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
95#
 楼主| 发表于 2006-4-29 10:13 | 只看该作者
MacOS X 服務器
NetBSD 1.3/1.4 Intel 和 NetBSD 1.3 Alpha ( 需要 GNU make)
包括 MIT-pthreads 包的 OpenBSD 2.x
OS/2 Wrap 3、FixPack 29和OS/2 Wrap 4、FixPack 4
有原生線程的SGI Irix 6.x
SPARC和x86上有原生線程的Solaris 2.5、2.6和2.7
包括 MIT-pthreads 包的SunOS 4.x
有最新FSU Pthreads移植包的SCO OpenServer
SCO UnixWare 7.0.1
Tru64 Unix
Win95、Win98和NT(只有擁有MySQL許可証或MySQL電子郵件支持的用戶可得到最新版本)。對那些在購買之前想測試的人,我們以共享軟件方式發布了MySQL 3.21.29(一個較老的版本)。

4.3 使用MySQL哪個版本
首先要作出決策,你是否想要使用最新的開發版本或最終的穩定版本:

通常, 如果你是第一次開始使用MySQL或嘗試移植它到一些還沒有二進制分發系統上,我們推薦使用開發版本(當前 3.22.x)。這是因為通常在開發版本中沒用真正嚴重的錯誤,並且你能容易用你的機器上的crash-me和基准測試套件來測試它。見10.8 使用你自己的基准測試。
否則,如果你正在咝幸粋

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
96#
 楼主| 发表于 2006-4-29 10:13 | 只看该作者
如果你想在一個已經存在一個最新二進制分發的平台上咝蠱ySQL,就用它。通常,這比一個源代碼分發更容易安裝。
如果你想要閱讀(或修改)構成MySQL的C和C++代碼,你應該拿到源代碼分發。源代碼總是最終的手冊。源代碼分發也比二進制的分發包含更多的測試和實例。
MySQL的命名機制使用由3個數字和一個後綴組成的版本號。例如,一個像mysql-3.21.17-beta的版本號這樣解釋:

第1數字(3)描述文件格式。所有版本3的發行都有相同的文件格式。當一個版本4出現時,每個數據庫表都將必須轉換到新格式(當然,為此有一個很不錯的工具)。
第2數字(21)是發行級別。通常有2種選擇。一個是發部/穩定分支(當前為21)而其它是開發分支(當前22)。通常兩者都是穩定的,但是開發版本可能有毛病,新功能缺乏文檔或可能在某些系統上編譯失敗。
第3個數字(17)是在此發行級別的版本號,這隨每個新分發遞增。通常你需要你已經選擇的發行(release)的最新版本(version)。
後綴(beta)顯示發行的穩定性級別。可能的後綴有:
alpha 表明發行包含大量未被100%測試的新代碼。已知的錯誤(通常沒有)應該在新聞小節被記錄。見D MySQL 變遷的歷史記錄。在大多數 alpha 版本也有新的命令和擴展。
beta 意味著所有的新代碼被測試了,沒有增加重要的新特征,應該沒有已知的錯誤。
gamma 是一個發行了一段時間的beta版本,看起來應該咝姓?!_@就是很多其他公司稱為一個發布的東西。
如果沒有後綴,這意味著該版本已經在很多地方咝幸欢螘r間了,而且沒有非平台特定的錯誤報告。這就是我們稱為一個穩定版本的東西。

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
97#
 楼主| 发表于 2006-4-29 10:13 | 只看该作者
MySQL所有版本都經過我們的標准測試和基准測試咝校?员T^他們可相當安全地使用。因為標准測試不斷擴充以檢測以前發現的錯誤,測試套件一直在改進之中。

注意,所有版本都至少已經用下列套件進行了測試:

一個內部測試套件
這是一個客戶生產系統的一部分。它可能有很多幾百個兆字節數據的數據庫表。
MySQL基准測試套件
它咝幸欢ü爣?某S貌樵儭K?彩且粋

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
98#
 楼主| 发表于 2006-4-29 10:13 | 只看该作者
4.5 安裝布局
這節描述安裝二進制代碼和源代碼分發時創建的缺省目錄布局。

二進制分發通過在你選擇的安裝地點(典型的“/usr/local/mysql”)解壓縮來安裝,並且在該處創建下列目錄:

目錄  目錄的內容  
“bin”  客戶程序和mysqld服務器
“data”  日志文件, 數據庫
“include”  包含(頭)文件
“lib”  庫文件
“scripts”  mysql_install_db  
“share/mysql ”  錯誤消息文件
“sql-bench”  基准程序

源代碼分發在你配置並編譯後進行安裝。缺省地,安裝步驟將文件安裝在“/usr/local”下的下列子目錄:

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
99#
 楼主| 发表于 2006-4-29 10:14 | 只看该作者
目錄  目錄的內容  
“bin”  客戶程序和腳本
“include/mysql”  包含(頭)文件
“info”  Info格式的文檔
“lib/mysql”  庫文件
“libexec”  mysqld服務器
“share/mysql”  錯誤消息文件
“sql-bench”  基准程序和crash-me測試
“var”  數據庫和日志文件。  

在一個安裝目錄內,源代碼安裝的布局在下列方面不同于二進制安裝:

mysqld服務器被安裝在“libexec”目錄而不是“bin”目錄內。
數據目錄是“var”而非“data”。
mysql_install_db被安裝在“/usr/local/bin”目錄而非“/usr/local/mysql/scripts”內。
頭文件和庫目錄是“include/mysql”和“lib/mysql”而非“include”和“lib”。
4.6 安裝MySQL二進制代碼分發
你需要下列工具安裝一個MySQL二進制分發:

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
100#
 楼主| 发表于 2006-4-29 10:14 | 只看该作者
一個適當的tar解包分發。 GNU tar已知可以。
在Linux下的另一個安裝方法是使用RPM(RedHat包管理器)分發。見4.6.1 Linux RPM 注意事項。

如果你碰到問題,在把問題郵寄到mysql@lists.mysql.com時,請總是使用mysqlbug,就算問題不是一個bug,mysqlbug收集系統信息,將有助于其它人解決你的問題。不使用mysqlbug,你將減少得到你問題的一個解決方案的可能性!在你解包分發後,你會在“bin”目錄下找到mysqlbug。見2.3 怎樣報告錯誤或問題。

你必須執行以便安裝並使用一個MySQL二進制分發的基本命令是:

shell> gunzip < mysql-VERSION-OS.tar.gz |tar  xvf -
shell> ln - s  mysql-VERSION-OS  mysql
shell> cd mysql
shell> scripts/mysql_install_db
shell> bin/safe_mysqld &


如果你安裝了DBI和Msql-Mysql-modulesPerl模塊,你可以使用bin/mysql_setpermission腳本增加新用戶。

以下是更詳細的描述:

對于安裝二進制分發,遵循以下步驟,然後繼續到4.15 安裝後期的設置與測試,進行安裝後期的設置和測試:

挑選一個你想解開分發包的目錄,進入給目錄。在下面的例子中,我們將分發解包在“/usr/local”下並且創建一個安裝MySQL的“/usr/local/mysql”目錄。(因此,下列指令假設你有權限在“/usr/local”中創建文件,如果該目錄被保護,你需要以root實施安裝。)
從4.1 怎樣獲得MySQL中列出的站點之一獲得一個分發文件。MySQL二進制分發以壓縮的tar文檔提供,並且有類似“mysql-VERSION-OS.tar.gz”的名字,這里VERSION是一個數字(例如,3.21.15),且OS表明分發能咝械牟僮飨到y類型(例如,pc-linux-gnu-i586)。
解開分發並且創建立安裝目錄:
shell> gunzip < mysql-VERSION-OS.tar.gz |tar  xvf -
shell> ln - s  mysql-VERSION-OS  mysql

第一個命令創建一個名為“mysql-VERSION-OS”的目錄,第二個命令生成到該目錄的一個符號鏈接。這讓你更容易地把安裝目錄指定為“/usr/local/mysql”。

進入安裝目錄:
shell> cd  mysql
你會在mysql目錄下發現幾個文件和子目錄,對安裝目的最重要的是“bin”和“scripts”子目錄。

“bin”
這個目錄包含客戶程序和服務器,你應該把這個目錄的完整路徑加到你的PATH環境變量,以便你的shell能正確的找到MySQL程序。
“scripts”
這個目錄包含mysql_install_db腳本,用來初始化服務器存取權限。
如果你想使用mysqlaccess而在某個非標准的地點有MySQL分發,你必須改變地點,在哪兒mysqlaccess期望找到mysql客戶。編輯“bin/mysqlaccess”腳本,大約在第18行,尋找類似下面的行:
$MYSQL = “/usr/local/bin/mysql”; # path to mysql executable
改變路徑以反映出mysql實際存儲在你系統上的地點。如果你不這樣做,當你咝衜ysqlaccess時,你將得到一個broken pipe的錯誤。

創造MySQL授權表(只有在你以前沒安裝過MySQL是必要的):
shell> scripts/mysql_install_db
注意當你咝袝rmysql_install_db時,比版本3.22.10老的MySQL版本啟動MySQL服務器。這不再是真的了!

如果你想要安裝對Perl DBI/DBD接口的支持,見4.10 Perl安裝注意事項。
如果你喜歡在引導機器時自動啟動MySQL,你可以拷貝support-files/mysql.server文件到你系統有啟動文件的地方。更多的信息可以在support-files/mysql.server腳本中和4.15.3 自動啟動和停止MySQL找到。
在所有東西被解包並且安裝以後,你應該初始化並且測試你的分發。

你可以用下列命令啟動MySQL服務器:

shell> bin/safe_mysqld &

見4.15 安裝後期的設置和測試。


4.6.1 Linux RPM 注意事項
在Linux上安裝MySQL推薦的方法是使用一個RPM文件。MySQL RPM目前是在一個 RedHat 5.2 系統上建立的,但是應該能工作在支持rpm且使用glibc的其他 Linux 版本上。

如果一個RPM文件有問題,例如Sorry, the host 'xxxx' could not be looked up,見4.6.3.1 Linux 注意事項。

你可能要使用的RPM文件有:

MySQL-VERSION.i386.rpm MySQL服務器。除非你只是想要與咝性谄渌麢C器上MySQL服務器連接,否則你將需要它。
MySQL-client-VERSION.i386.rpm 標准MySQL客戶程序。你可能總是需要安裝這個包。
MySQL-bench-VERSION.i386.rpm 測試和基准程序。需要Perl和msql-mysql-modules RPM。
MySQL-devel-VERSION.i386.rpm 所需的庫和包含文件。如果你想要編譯其他MySQL客戶程序, 例如Perl模塊。
MySQL-VERSION.src.rpm 包含上述所有包的源代碼。它也能被用來嘗試為其他硬件平台構造RPM(例如,Alpha或SPARC)。
查看一個RPM包中的所有文件:

shell> rpm - qpl  MySQL-VERSION.i386.rpm
實施一個標准的最小安裝,咝羞@個命令:

shell> rpm -i MySQL-VERSION.i386.rpm  MySQL-client-VERSION.i386.rpm
只安裝客戶包:

shell> rpm -i MySQL-client-VERSION.i386.rpm
RPM將數據放在“/var/lib/mysql”里,RPM也在“/etc/rc.d/”里創建適當的入口以便在引導時自動啟動服務器。(這意味著如果你以前已經安裝過,在對它改變之前,你可以把你以前安裝的MySQL啟動文件做個拷貝,因此你不會丟失改動)。

在安裝了RPM文件後,“mysqld”守護程序應該正在咝校瑏K且現在你應該可以開始使用MySQL。見4.15 安裝後期的設置和測試。

如果一些東西出錯,可以在二進制的安裝一節里找到更多的信息。見4.6 安裝MySQL二進制代碼分發。


4.6.2 構造客戶程序
如果你編譯你自己寫的或你從第三方獲得的MySQL客戶程序,他們必須用link命令的-lmysqlclient選項進行鏈接。你可能也需要指定一個 -L 選項,告訴鏈接器在哪兒查找庫文件。例如,如果庫文件安裝在“/usr/local/mysql/lib”里,在鏈接命令上使用 -L/usr/local/mysql/lib -lmysqlclient。

對使用MySQL頭文件的客戶程序,當你編譯他們時,你可能需要指定一個 -I 選項(例如,-I/usr/local/mysql/include), 使得編譯器能找到頭文件。

4.6.3 系統特定的問題
下一節說明在從一個二進制分發安裝MySQL時,已經在特定的系統上觀察到已發生過一些問題。

4.6.3.1 Linux 注意事項
MySQL需要至少Linux 2.0。

二進制發行版用-static鏈接的,這意味著你一般不必擔心你擁有的系統庫是哪個版本。你也不必安裝LinuxThreads。一個用-static鏈接的程序比一個動態鏈接程序稍大些但更快(3-5%)。然而,一個問題是你不能使用靜態鏈接的用戶定義函數(UDF)。如果你准備編寫或使用UDF函數(這只對C或C++程序員),你必須編譯MySQL本身,使用動態鏈接。

如果你正在使用一個基于libc-的系統(而不是一個glibc2系統),你將可能碰到二進制發行的主機名解析和getpwnam()的一些問題(這是因為glibc不幸地依賴于一些包括解析主機名和getwpent()的外部庫,甚至在用-static編譯時)。在這種情況下,當你咝衜ysql_install_db時,你可能得到下列錯誤信息:

sorry, the host 'xxxx' could not be looked up
或當你嘗試以 --user 選項咝

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表