免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1700 | 回复: 4
打印 上一主题 下一主题

[注意]在*nix下使用mysql出权限问题的原因。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-09 22:55 |只看该作者 |倒序浏览
MySQL Connector/J must  use TCP/IP sockets

不支持 Unix Domain Sockets

所以,有时明明授权 test@localhost 用户访问,命令行可以登陆,php也可以登陆

但用MySQL Connector/J就提示权限不对

可以尝试把用户数据的host列改成127.0.0.1

[ 本帖最后由 wobushiwo 于 2006-8-9 23:09 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-10 01:19 |只看该作者
如果使用Unix Domain Sockets就不能移植其他平台了,php也是这样啊,你倒是在windows上给我用unix socket看看?现在很多应用都是在windows上开发,然后部署到linux服务器上运行的。

root用户根据客户端来源ip进行访问控制,默认只运行来自127.0.0.1的用户使用。这个可以在mysql.user表里面调整,不过使用root仅仅用于管理,部署应用就不要用root了,不安全。

论坛徽章:
0
3 [报告]
发表于 2006-08-10 08:47 |只看该作者
php的mysql连接,是internet sockets还是unix sockets是自动选择的吧

所以会发生一个问题,所以有时用

php可以登陆但用MySQL Connector/J就提示权限不对

论坛徽章:
0
4 [报告]
发表于 2006-08-10 13:09 |只看该作者
是host到ip interface的转换过程不同,有些程序输入了本机非localhost的hostname,也会自动转为通过localhost来访问,而mysql connect/J就不会,你输入的什么hostname,就寻找该hostname的网络ip地址。

论坛徽章:
0
5 [报告]
发表于 2006-10-05 22:17 |只看该作者
翻帖补答案:

mysql授权 localhost 的情况下,java 数据库连接部分使用 localhost

结果提示: root@localhost.localdomain 没有权限 (觉得奇怪吧,明明写的是 localhost)

在mysql换或加一个localhost.localdomain的授权,问题解决

红帽等默认的domain name 是 localhost.localdomain (大家要注意)

在 /etc/hosts 里将 "127.0.0.1 localhost.localdomain localhost" 换成 localhost (估计 localhost 优

先就行) 也可以解决问题,不用授权localhost.localdomain

至此,我们可以看到 MySQL Connector/J 的连接,是经过了转换的

[ 本帖最后由 wobushiwo 于 2006-10-5 22:20 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP