有网友在论坛问到
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 文件,你挑一个顺眼的,
[color=#FFFFFF'][/color]
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 看到以上这些行没有,有些就是我自己加的,有些是原来就有,但是没有参数的。 好了,
我们一个一个分析:
[color=#FFFFFF'][/color]
port 就是端口了,我们知道
MySQL 缺省的端口是 3306 ,为了安全,也让别人不知道
我们的数据库服务器,我们故意更改端口,这样即使黑客扫描到8888 这个端口,也不知
道跑的是什么数据库,如果是3306 的话,你也猜得到是
MySQL。
socket 就是网络的通道,你可以把它定义到其他地方,但是需要注意权限。
[color=#FFFFFF'][/color]
log 就是日志文件,缺省是写到数据库所在目录,为了管理方便,我把它写到系统的Log
目录。
basedir 就是运行
MySQL 所在的目录,注意不是
mysql 所在的bin 目录。
datadir 就是
MySQL 摆放数据库的目录,为了数据管理方便,我把它写到了另外的目录,
不是缺省的当前目录下的data 目录。
user 就是跑
mysqld 的用户,为了安全,不建议使用root ,所以你需要建立一个专门跑
这个deamon 的用户。
[color=#FFFFFF'][/color]
就这么多了,跑之前需要在数据库目录下建立系统的数据库
mysql ,运行
./scripts/
mysql_install_db
你可以看到数据库目录下增加了两个目录
mysql 和 test。 然后启动:
./bin/safe_
mysqld &;amp;
大功告成了!恭喜你!
[color=#FFFFFF'][/color]
什么,“
mysqld ended”!没有关系,看看error-log 里这么说!再向我汇报!
这个error-log 在数据库所在的目录下,如果有问题的话,可能是权限不够。
最最彻底的事情就是自己解剖safe_
mysqld 这个shell 了。
./bin/
mysqld --help 也能解决你的大多数问题。
[color=#FFFFFF'][/color]
如果要系统启动时,自动跑起来
MySQL ,就
[color=#FFFFFF'][/color]
vi /etc/rc.d/rc.local
这个东东就象你熟悉的autoexec.bat ,在文件的最后加上:
cd /usr/local/
mysql ./bin/safe_
mysqld &;amp;
哦!搞定!