我是在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 &
哦!搞定