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