mysql冒险实验
mysql的命令可以通用(4.0,4.1),这几天弄个东西,我目前是这样认为的。选用其中一个时,先将另一个停下来,然后换用/etc/my.cnf,这里最好是将两个文件设为不同(相同能不能用我没测试过,但可能会有冲突的)。
我手里有一台服务器(托管),老板和web管理员要用以前的数据,因为乱码的问题,他们认为要把mysql从4.1换到4.0,我负责将4.0装上,虽然我一点不明白为什么非要这样(我个人认为是有办法解决乱码问题的,不用换数据库)。昨天 晚上我开始装,10点到4点,老是出一个问题,用网页连不到服务器上的数据库,网上说是权限问题,事实上我也这样认为,但权限也可能出现在不同的地方,虽然都是大同小异,但对于一个没有经验的人来讲,这也不是一件容易的事,我这是socket的问题,改改它的位置(即是那个地方你有权限读写),然后可能就可以了。数据库权限按官方的来是比较明智的,除非你对权限问题相当清楚。
由此我们可以得到如下启发,可以在很多文件下放数据库文件,前提是你有几个my.cnf来管理它们。但这不是一个值得提倡的事,它可能带来难以管理的后果。
具体操作如下(机器上4.1是系统自带版本)
shell#service mysqld stop
/etc下有如下几个文件:my.cnf ,my.cnf4.0, my.cnf4.1
shell#cp my.cnf4.0 my.cnf
shell#/usr/local/mysql/bin/mysqld_safe --user=mysql& (我的4.0在/usr/local/mysql)
ok,你可以用4.0版本了!
要换回来,刚如下:
shell#ps -aux|grep mysql
shell#kill xxxx
shell#kill xxxx (xxxx为mysql相应的进程号)
shell#cp my.cnf4.1 my.cnf
shell#service mysqld start
其实,我说通用命令,只是我个人这样认为,理由是命令覆盖,也可能现在是都用的4.0版本的特性,来管理两个地方的数据库主文件!
此外,在进行这些操作之前,一定备份你的数据!出现命令不能用时,可能就是需要你改my.cnf里的socket路径!