有網友在論壇問到MySQL 在 SCO Unix OpenServer 下的安裝,正好自己安裝了個最新
的3.23.25Beta,不妨介紹一下心得:
我是在Linux 上安裝的,不過其他的Unix 平台應該一樣的, 古人雲:“換湯不換藥”麼。
MySQL 老家 上有tarball 格式的Binary 。 也就是說 不用重新編譯的版本選擇相應平
台的文件download 然後 解開就可以了。 假設解壓到 /usr/local,需要的工作無非是
gunzip
tar xvf
就可以看到下面多了一個 MySQL-3.23.xx 的目錄了。 我不喜歡那麼長的目錄名,雖然
可以用 cd MySQL* 進入,但是 不爽。怎麼辦呢?很簡單:
mv mysql* MySQL
好了,就這樣了。
什麼?有沒有搞錯,安裝好了?
你先生也太過份了,簡直就是騙各位看官的感情麼!
對了,余下的事情,說簡單也簡單,說復雜也復雜。
去到suport-files 目錄下看看吧,有幾個.cnf 文件,你挑一個順眼的,
cp my-medium.cnf /etc/my.cnf
然後修改 /etc/my.cnf ,學問就在這裡頭了: 廢話少說,我們直殺MySQLd 那個節。
# The MySQL Server
[MySQLd]
port = 8888
socket = /tmp/MySQL.sock
log = /var/log/MySQL.log
basedir = /usr/local/MySQL
datadir = /free/MySQLdbf
user = MySQL
看到以上這些行沒有,有些就是我自己加的,有些是原來就有,但是沒有參數的。 好了,
我們一個一個分析:
port 就是端口了,我們知道MySQL 缺省的端口是 3306 ,為了安全,也讓別人不知道
我們的數據庫服務器,我們故意更改端口,這樣即使黑客掃描到8888 這個端口,也不知
道跑的是什麼數據庫,如果是3306 的話,你也猜得到是MySQL。
socket 就是網絡的通道,你可以把它定義到其他地方,但是需要注意權限。
log 就是日志文件,缺省是寫到數據庫所在目錄,為了管理方便,我把它寫到系統的Log
目錄。
basedir 就是運行 MySQL 所在的目錄,注意不是MySQL 所在的bin 目錄。
datadir 就是MySQL 擺放數據庫的目錄,為了數據管理方便,我把它寫到了另外的目錄,
不是缺省的當前目錄下的data 目錄。
user 就是跑MySQLd 的用戶,為了安全,不建議使用root ,所以你需要建立一個專門跑
這個deamon 的用戶。
就這麼多了,跑之前需要在數據庫目錄下建立系統的數據庫 MySQL ,運行
./scripts/MySQL_install_db
你可以看到數據庫目錄下增加了兩個目錄 MySQL 和 test。 然後啟動:
./bin/safe_MySQLd &
大功告成了!恭喜你!
什麼,“MySQLd ended”!沒有關系,看看error-log 裡這麼說!再向我匯報!
這個error-log 在數據庫所在的目錄下,如果有問題的話,可能是權限不夠。
最最徹底的事情就是自己解剖safe_MySQLd 這個shell 了。
./bin/MySQLd --help 也能解決你的大多數問題。
如果要系統啟動時,自動跑起來MySQL ,就
vi /etc/rc.d/rc.local
這個東東就象你熟悉的autoexec.bat ,在文件的最後加上:
cd /usr/local/MySQL
./bin/safe_MySQLd &
哦!搞定!