试验成功了Mantis后,想把它移植到Linux上去。
MySQL的安装是第一步。
1、下载、安装rpm包
http://mysql.sd2.mirrors.redwire.net/Downloads/MySQL-5.0/
下载了:
MySQL-server-5.0.15-0.glibc23.i386.rpm
MySQL-client-5.0.15-0.glibc23.i386.rpm
MySQL-shared-compat-5.0.15-0.i386.rpm
三个rpm包,
rpm -i MySQL-server-5.0.15-0.glibc23.i386.rpm
主目录在:/usr/share/mysql
数据保存在:/var/lib/mysql
可执行文件在:/usr/bin
在/usr/lib/mysql下生成mysqld.sym文件,也不知道干嘛用的。
rpm -i MySQL-client-5.0.15-0.glibc23.i386.rpm
添加可执行文件在:/usr/bin
有了mysqladmin和mysql两个重要程序。
rpm -i MySQL-shared-compat-5.0.15-0.i386.rpm
用于与其他工具的连接,例如下面的php。
这
里有个小故事,起初安装的是MySQL-server-5.0.15-0.i386.rpm,以及MySQL-client-5.0.15-
0.i386.rpm。服务器倒是启动正常,但是mysql命令总是出错。后来换了glibc23就正常了,因为这台机器上是glibc23。
2、密码修改
/usr/bin/mysqladmin -u root password XXXXXX
报错:Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)
网
上查了才知道http://www.tech-recipes.com/mysql_tips762.html,是rpm包安装后,把默认的socket
放到/var/lib/mysql/mysql.sock了。拷贝一份/usr/share/mysql下面的my-small.cnf为
/etc/my.cnf
密码修改正常。
3、与php接轨
下载http://download.asplinux.ru/i386/updates/9.1/i386/php-mysql-4.3.2-26.ent.i386.rpm
安装顺利。运行测试文件index.php:
$link = mysql_connect('localhost', 'root', 'XXXXXX');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
出错:
Warning:
mysql_connect(): Client does not support authentication protocol
requested by server; consider upgrading MySQL client in
/var/www/html/index.php on line 2
Could not connect: Client does not support authentication protocol requested by server; consider upgrading MySQL client
知道是个经典错误,但是不知道如何解决,只好google了。
4、mysql_connect()解决之道
功夫不负有心人,从
http://forums.mysql.com/read.php?11,6400,10611#msg-10611看到了他在windows上的解决方案,就是增加了old_passwords一行在配置文件中。于是照猫画虎的在my.cnf的[mysqld]下面增加一行
old_passwords。
停止mysql,停止apache,启动apache,启动mysql。
通过远程连接的mysqladministrator修改了root的密码,然后测试index.php,通过,哈哈。