?? manual_installing.html
字號:
<p><a NAME="IDX37"></a><a NAME="IDX38"></a>在Linux下的另一個安裝方法是使用RPM(RedHat包管理器)分發。見<a HREF="manual_Installing.html#Linux-RPM">4.6.1 Linux RPM 注意事項</a>。 </p>
<p>如果你碰到問題,在把問題郵寄到<a HREF="mailto:mysql@lists.mysql.com">mysql@lists.mysql.com</a>時,<strong>請總是使用</strong><code>mysqlbug</code>,就算問題不是一個bug,<code>mysqlbug</code>收集系統信息,將有助于其它人解決你的問題。不使用<code>mysqlbug</code>,你將減少得到你問題的一個解決方案的可能性!在你解包分發后,你會<tt>在“bin”</tt>目錄下找到<code>mysqlbug</code>。見<a HREF="manual_Questions.html#Bug_reports">2.3 怎樣報告錯誤或問題</a>。 </p>
<p>你必須執行以便安裝并使用一個<strong>MySQL</strong>二進制分發的基本命令是:
</p>
<pre>
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 &
</pre>
<p>如果你安裝<code>了DBI</code>和<code>Msql-Mysql-modules</code>Perl模塊,你可以使用<code>bin/mysql_setpermission</code>腳本增加新用戶。
</p>
<p>以下是更詳細的描述: </p>
<p>對于安裝二進制分發,遵循以下步驟,然后繼續到<a HREF="manual_Installing.html#Post-installation">4.15 安裝后期的設置與測試</a>,進行安裝后期的設置和測試:
<ol>
<li>挑選一個你想解開分發包的目錄,進入給目錄。在下面的例子中,我們將分發解包在<tt>“/usr/local”</tt>下并且創建一個安裝<strong>MySQL</strong>的<tt>“/usr/local/mysql”</tt>目錄。(因此,下列指令假設你有權限在<tt>“/usr/local”</tt>中創建文件,如果該目錄被保護,你需要以<code>root</code>實施安裝。)
</li>
<li>從<a HREF="manual_Installing.html#Getting_MySQL">4.1 怎樣獲得MySQL</a>中列出的站點之一獲得一個分發文件。<strong>MySQL</strong>二進制分發以壓縮的<code>tar</code>文檔提供,并且有類似<tt>“mysql-VERSION-OS.tar.gz”</tt>的名字,這里<code>VERSION</code>是一個數字(例如,<code>3.21.15</code>),且<code>OS</code>表明分發能運行的操作系統類型(例如,<code>pc-linux-gnu-i586</code>)。
</li>
<li>解開分發并且創建立安裝目錄: <pre>
shell> gunzip < mysql-VERSION-OS.tar.gz |tar xvf -
shell> ln - s mysql-VERSION-OS mysql
</pre>
<p>第一個命令創建一個名為<tt>“mysql-VERSION-OS”</tt>的目錄,第二個命令生成到該目錄的一個符號鏈接。這讓你更容易地把安裝目錄指定為<tt>“/usr/local/mysql”</tt>。
</p>
</li>
<li>進入安裝目錄: <pre>
shell> cd mysql</pre>
<p>你會在<code>mysql</code>目錄下發現幾個文件和子目錄,對安裝目的最重要的是<tt>“bin”</tt>和<tt>“scripts”</tt>子目錄。
<dl COMPACT="manual_Installing.html#Getting_MySQL">
<dt><tt>“bin”</tt> </dt>
<dd><a NAME="IDX39"></a> <a NAME="IDX40"></a>這個目錄包含客戶程序和服務器,你應該把這個目錄的完整路徑加到你的<code>PATH</code>環境變量,以便你的shell能正確的找到<strong>MySQL</strong>程序。
</dd>
<dt><tt>“scripts”</tt> </dt>
<dd>這個目錄包含<code>mysql_install_db</code>腳本,用來初始化服務器存取權限。
</dd>
</dl>
</li>
<li>如果你想使用<code>mysqlaccess</code>而在某個非標準的地點有<strong>MySQL</strong>分發,你必須改變地點,在哪兒<code>mysqlaccess</code>期望找到<code>mysql</code>客戶。編輯<tt>“bin/mysqlaccess”</tt>腳本,大約在第18行,尋找類似下面的行:
<pre>$MYSQL = “/usr/local/bin/mysql”; # path to mysql executable</pre>
<p>改變路徑以反映出<code>mysql</code>實際存儲在你系統上的地點。如果你不這樣做,當你運行<code>mysqlaccess</code>時,你將得到一個<code>broken
pipe</code>的錯誤。</p>
</li>
<li>創造<strong>MySQL</strong>授權表(只有在你以前沒安裝過<strong>MySQL</strong>是必要的):
<pre>shell> scripts/mysql_install_db</pre>
<p>注意當你運行時<code>mysql_install_db</code>時,比版本3.22.10老的<strong>MySQL</strong>版本啟動<strong>MySQL</strong>服務器。這不再是真的了!
</p>
</li>
<li>如果你想要安裝對Perl <code>DBI</code>/<code>DBD</code>接口的支持,見<a HREF="manual_Installing.html#Perl_support">4.10 Perl安裝注意事項</a>。 </li>
<li>如果你喜歡在引導機器時自動啟動<strong>MySQL</strong>,你可以拷貝<code>support-files/mysql.server</code>文件到你系統有啟動文件的地方。更多的信息可以在<code>support-files/mysql.server</code>腳本中和<a HREF="manual_Installing.html#Automatic_start">4.15.3 自動啟動和停止MySQL</a>找到。
</li>
</ol>
<p>在所有東西被解包并且安裝以后,你應該初始化并且測試你的分發。
</p>
<p>你可以用下列命令啟動<strong>MySQL</strong>服務器: </p>
<pre>shell> bin/safe_mysqld &
</pre>
<p>見<a HREF="manual_Installing.html#Post-installation">4.15
安裝后期的設置和測試</a>。 </p>
<p><a NAME="IDX41"></a> <a NAME="IDX42"></a> </p>
<h3><a NAME="Linux-RPM" HREF="manual_toc.html#Linux-RPM">4.6.1 Linux RPM 注意事項</a></h3>
<p>在Linux上安裝<strong>MySQL</strong>推薦的方法是使用一個RPM文件。<strong>MySQL</strong>
RPM目前是在一個 RedHat 5.2 系統上建立的,但是應該能工作在支持<code>rpm</code>且使用<code>glibc</code>的其他
Linux 版本上。 </p>
<p>如果一個RPM文件有問題,例如<code>Sorry, the host 'xxxx' could not be looked
up</code>,見<a HREF="manual_Installing.html#Binary_notes-Linux">4.6.3.1 Linux
注意事項</a>。 </p>
<p>你可能要使用的RPM文件有:
<ul>
<li><code>MySQL-VERSION.i386.rpm</code> <strong>MySQL</strong>服務器。除非你只是想要與運行在其他機器上<strong>MySQL</strong>服務器連接,否則你將需要它。
</li>
<li><code>MySQL-client-VERSION.i386.rpm</code> 標準<strong>MySQL</strong>客戶程序。你可能總是需要安裝這個包。
</li>
<li><code>MySQL-bench-VERSION.i386.rpm</code> 測試和基準程序。需要Perl和msql-mysql-modules
RPM。 </li>
<li><code>MySQL-devel-VERSION.i386.rpm</code>
所需的庫和包含文件。如果你想要編譯其他<strong>MySQL</strong>客戶程序,
例如Perl模塊。 </li>
<li><code>MySQL-VERSION.src.rpm</code>
包含上述所有包的源代碼。它也能被用來嘗試為其他硬件平臺構造RPM(例如,Alpha或SPARC)。
</li>
</ul>
<p>查看一個RPM包中的所有文件: </p>
<pre>shell> rpm - qpl MySQL-VERSION.i386.rpm</pre>
<p>實施一個標準的最小安裝,運行這個命令: </p>
<pre>shell> rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm</pre>
<p>只安裝客戶包: </p>
<pre>shell> rpm -i MySQL-client-VERSION.i386.rpm</pre>
<p>RPM將數據放在<tt>“/var/lib/mysql”</tt>里,RPM也在<tt>“/etc/rc.d/”</tt>里創建適當的入口以便在引導時自動啟動服務器。(這意味著如果你以前已經安裝過,在對它改變之前,你可以把你以前安裝的<strong>MySQL</strong>啟動文件做個拷貝,因此你不會丟失改動)。</p>
<p>在安裝了RPM文件后,<tt>“mysqld”</tt>守護程序應該正在運行,并且現在你應該可以開始使用<strong>MySQL</strong>。見<a HREF="manual_Installing.html#Post-installation">4.15 安裝后期的設置和測試</a>。
</p>
<p>如果一些東西出錯,可以在二進制的安裝一節里找到更多的信息。見<a HREF="manual_Installing.html#Installing_binary">4.6 安裝MySQL二進制代碼分發</a>。</p>
<p><a NAME="IDX43"></a> <a NAME="IDX44"></a> </p>
<h3><a NAME="Building_clients" HREF="manual_toc.html#Building_clients">4.6.2
構造客戶程序</a></h3>
<p>如果你編譯你自己寫的或你從第三方獲得的<strong>MySQL</strong>客戶程序,他們必須用link命令的<code>-lmysqlclient</code>選項進行鏈接。你可能也需要指定一<code>個
-L</code>
選項,告訴鏈接器在哪兒查找庫文件。例如,如果庫文件安裝在<tt>“/usr/local/mysql/lib”</tt>里,在鏈接命令上使用<code>
-L/usr/local/mysql/lib -lmysqlclient</code>。 </p>
<p>對使用<strong>MySQL</strong>頭文件的客戶程序,當你編譯他們時,你可能需要指定一<code>個
-I</code> 選項(例如,<code>-I/usr/local/mysql/include</code>),
使得編譯器能找到頭文件。</p>
<h3><a NAME="Binary_install_system_issues" HREF="manual_toc.html#Binary_install_system_issues">4.6.3 系統特定的問題</a></h3>
<p>下一節說明在從一個二進制分發安裝<strong>MySQL</strong>時,已經在特定的系統上觀察到已發生過一些問題。
</p>
<h4><a NAME="Binary_notes-Linux" HREF="manual_toc.html#Binary_notes-Linux">4.6.3.1 Linux
注意事項</a></h4>
<p><strong>MySQL</strong>需要至少Linux 2.0。 </p>
<p>二進制發行版用<code>-static</code>鏈接的,這意味著你一般不必擔心你擁有的系統庫是哪個版本。你也不必安裝LinuxThreads。一個用<code>-static</code>鏈接的程序比一個動態鏈接程序稍大些但更快(3-5%)。然而,一個問題是你不能使用靜態鏈接的用戶定義函數(UDF)。如果你準備編寫或使用UDF函數(這只對C或C++程序員),你必須編譯<strong>MySQL</strong>本身,使用動態鏈接。
</p>
<p>如果你正在使用一<code>個基于libc</code>-的系統(而不是一個<code>glibc2</code>系統),你將可能碰到二進制發行的主機名解析和getpwnam()的一些問題(這是因為<code>glibc</code>不幸地依賴于一些包括解析主機名和getwpent()的外部庫,甚至在用<code>-static</code>編譯時)。在這種情況下,當你運行<code>mysql_install_db</code>時,你可能得到下列錯誤信息:
</p>
<pre>sorry, the host 'xxxx' could not be looked up</pre>
<p>或當你嘗試以 <code>--user</code> 選項運行 mysqld 時的下列錯誤: </p>
<pre>getpwnam : No such fileor directory</pre>
<p>你能用下列方法之一解決這個問題:
<ul>
<li>獲得一個<strong>MySQL</strong>源代碼分發(一個RPM或<code>tar</code>分發)并且安裝它。
</li>
<li>執行<code>mysql_install_db --force</code>;這將不執行<code>mysql_install_db</code>里面<code>的resolveip</code>測試。缺點是你不能在授權表中使用主機名字;相反你必須使用IP數字(除了<code>localhost</code>)。如果你正在使用一個老的不支持<code>--force</code>的<strong>MySQL</strong>版本,你必須用編輯器刪除<code>mysql_install</code>中的<code>resolveip</code>測試。</li>
<li>用<code>su</code>啟動mysqld而不使用<code>--user</code>。</li>
</ul>
<p><strong>MySQL</strong>的Linux-Intel二進制代碼和RPM發行版是為最高可能的速度而配置的。我們總是努力使用可用的最快的穩定的編譯器。
</p>
<p><strong>MySQL</strong>的Perl支持要求Perl 5.004_03或更新。 </p>
<h4><a NAME="Binary_notes-HP-UX" HREF="manual_toc.html#Binary_notes-HP-UX">4.6.3.2 HP-UX
注意事項</a></h4>
<p>針對HP-UX的<strong>MySQL</strong>二進制分發作為一個HP depot(倉庫)或tar
文件格式分發的。為了使用depot文件,你必須運行至少HP-UX 10.x
以便訪問HP的軟件倉庫工具。 </p>
<p><strong>MySQL</strong>的HP版本在運行HP-UX 10.20下的HP 9000/8xx
服務器上編譯,并且使用MIT-pthreads。它已知可在這種配置下很好地工作。<strong>MySQL</strong>
3.22.26和更新版也用HP原生線程包構造。 </p>
<p>其他可以運行的配置:
<ul>
<li>運行 HP-UX 10.20 + 的 HP 9000/7xx</li>
<li>運行 HP-UX 10.30 的 HP 9000/8xx</li>
</ul>
<p>下列配置幾乎肯定不能運行:
<ul>
<li>運行 HP-UX 10.x 的 HP 9000/7xx 或 8xx ,x < 2 </li>
<li>運行 HP-UX 9.x 的 HP 9000/7xx 或 8xx</li>
</ul>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -