在perl上装DBD:mysql 的问题
首先,在装DBD:mysql模块时,make后打印出错误信息,如下:
gcc: language strconst not recognized
gcc: dbdimp.c: linker input file unused because linking not done
gcc: language strconst not recognized
gcc: mysql.c: linker input file unused because linking not done
在网上查了好久,最后终于在mysql官方网站上发现,原来这个是mysql本身的bug,晕,server版本和gcc版本怎么这么碰巧就都和bug上稳和呢,这也太被了哦!
The problem is a bug on mysql :
Bug #22430 -xstrconst -mt in Makefile for gcc-
How to repeat:
Perform configure then make using gcc-4.1.1 on Solaris 10.
Solution
Remove -xstrconst and -mt from Makefiles.
终于能安上DBD了!
接下来又碰上问题了
登陆mysql的时候,正确的用户名密码,却不能登陆上去,报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
这个也是mysql自己的问题,原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了
Solution
mysql>set password for user1@"localhost"=old_password('yourPassword');
还有一点也要在这里记录一下,就是远程登录mysql的时候,在数据库中必须对该用户给予远程登陆权限,即user1@% 。