|
一個適當的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 選項咝 |
|