在perl上装DBD:mysql 的问题

在perl上装DBD:mysql ,就这事弄了多半天。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-4.1.1 on Solaris 10
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@%  。







原文地址:https://www.cnblogs.com/morebetter/p/622716.html