首先打擊我的就是rpm安裝,它告訴我發現了Mysql版本衝突,安裝無法繼續。我用rpm -q 查詢後,想 通過rpm -e 來刪除系統內建的版本(3.x.x),但是rpm又無情的返回了一大堆其他的錯誤,由於和其他 軟體的一些關聯,那個3.x.x無法被刪除。原先對rpm的美好感覺,就在這瞬間消失的無影無蹤。
“三人行,必有我師。”,我立刻上MSN找到了alin,當我問他如何用rpm卸載mysql或者升 級時,這個傢伙竟然幸災樂禍的告訴我,他用那個 “Debian”只用1分鐘就升級好了,最後還 告訴我說他“不會”用rpm,然後還不停的賊笑。我知道丫報複我呢,上回不停的向我推薦那 個 “Debian”,我一直沒甩他,這回給他找到機會了。其實我也覺得“Debian” 是不錯,就是讀起來太難聽了。
既然rpm無法繼續,只好退而求其次。我這次選擇了二進位的安裝包。再通過google中找到一位先驅者 的安裝筆記,作為參考。然後沿著前人的足跡快速的走了一下,又鼻青臉腫的被彈了回來,前人的經驗不 適合我,看來世上果然沒有銀彈。
看來心浮氣躁是無法解決問題了,乾脆靜下心來,又找到不少關於MySQL安裝的介紹文章。多次嘗試之 後,終於在荊棘叢中覓得一條小徑。。。
| 1. |
從http://www.mysql.com下載二進位版的Mysql安裝包 |
//這個MYSQL是二進位版的,不用編譯 |
| 2. |
# chmod 755 mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz |
// |
| 3. |
# tar xfz mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz |
//將解壓後產生的目錄,複製到/usr/local/下並改名為mysql |
| 4. |
# groupadd mysql # useradd mysql -g mysql |
// 建立mysql組 //建立mysql使用者並且加入到mysql組中 |
| 5. |
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf |
在 support-files目錄下有4個模版檔案,我們選擇其中一個座位Mysql的設定檔,覆 蓋/etc/my.cnf(系統預設的配置,其中設定了績效參數和Mysql的一些路徑參數) |
| 6. |
# cd /usr/local/mysql # ./scripts/mysql_install_db --user=mysql |
進入mysql目錄 //初試化表並且規定用mysql使用者來訪問。初始化表以後就開始給mysql和root使用者設定訪問 許可權 |
| 7. |
# chown -R root . |
//設定root能訪問/usr/local/mysql |
| 8. |
# chown -R mysql data |
//設定mysql使用者能訪問/usr/local/mysql/data ,裡面存的是mysql的資料庫檔案.這個 目錄是在/etc/my.cnf中有配置,在mysql_install_db時產生。 |
| 9. |
# chown -R mysql data/. |
//設定mysql使用者能訪問/usr/local/mysql/data/mysql下的所有檔案 |
| 10. |
# chgrp -R mysql . |
//設定mysql組能夠訪問/usr/local/mysql |
| 11. |
# /usr/local/mysql/bin/mysqld_safe --user=mysql & |
運行mysql 如果沒有問題的話,應該會出現類似這樣的提示: [1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var 如果出現 mysql ended這樣的語句,表示Mysql沒有正常啟動,你可以到log中尋找問題, Log檔案的通常在/etc/my.cnf中配置。大多數問題是使用權限設定不正確引起的。 |
| 12. |
用如下命令修改MYSQL密碼 # /usr/local/mysql/bin/mysqladmin -u root password yourpassword |
//預設安裝密碼為空白,為了安全你必須馬上修改. |
| 13. |
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod 700 /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 345 mysqld on |
//copy編譯目錄的一個指令碼 //設定使mysql每次啟動都能自動運行 |
| 14. |
# service mysqld start # netstat -atln |
//啟動mysqld服務 //查看3306連接埠是否開啟。要注意在防火牆中開放該連接埠。 |