試驗(yàn)成功了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
三個(gè)rpm包,
rpm -i MySQL-server-5.0.15-0.glibc23.i386.rpm
主目錄在:/usr/share/mysql
數(shù)據(jù)保存在:/var/lib/mysql
可執(zhí)行文件在:/usr/bin
在/usr/lib/mysql下生成mysqld.sym文件,也不知道干嘛用的。
rpm -i MySQL-client-5.0.15-0.glibc23.i386.rpm
添加可執(zhí)行文件在:/usr/bin
有了mysqladmin和mysql兩個(gè)重要程序。
rpm -i MySQL-shared-compat-5.0.15-0.i386.rpm
用于與其他工具的連接,例如下面的php。
這
里有個(gè)小故事,起初安裝的是MySQL-server-5.0.15-0.i386.rpm,以及MySQL-client-5.0.15-
0.i386.rpm。服務(wù)器倒是啟動(dòng)正常,但是mysql命令總是出錯(cuò)。后來?yè)Q了glibc23就正常了,因?yàn)檫@臺(tái)機(jī)器上是glibc23。
2、密碼修改
/usr/bin/mysqladmin -u root password XXXXXX
報(bào)錯(cuò):Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)
網(wǎng)
上查了才知道http://www.tech-recipes.com/mysql_tips762.html,是rpm包安裝后,把默認(rèn)的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
安裝順利。運(yùn)行測(cè)試文件index.php:
$link = mysql_connect('localhost', 'root', 'XXXXXX');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
出錯(cuò):
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
知道是個(gè)經(jīng)典錯(cuò)誤,但是不知道如何解決,只好google了。
4、mysql_connect()解決之道
功夫不負(fù)有心人,從
http://forums.mysql.com/read.php?11,6400,10611#msg-10611看到了他在windows上的解決方案,就是增加了old_passwords一行在配置文件中。于是照貓畫虎的在my.cnf的[mysqld]下面增加一行
old_passwords。
停止mysql,停止apache,啟動(dòng)apache,啟動(dòng)mysql。
通過遠(yuǎn)程連接的mysqladministrator修改了root的密碼,然后測(cè)試index.php,通過,哈哈。