MySQL可以远程连接但不能本地连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL可以远程连接但不能本地连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1994字,纯文字阅读大概需要3分钟。
内容图文
![MySQL可以远程连接但不能本地连接](/upload/InfoBanner/zyjiaocheng/900/314fe2acbb71468d87c760f8f6736981.jpg)
这是一个奇怪的问题,我不确定发生了什么.我在运行Ubuntu 10.04 LTS的Linux机器上安装了MySQL.我可以通过SSH mysql -p访问mysql并以这种方式执行我的所有命令.我添加了一个用户,我可以使用AddedUser从我的机器远程连接,但不能从本地机器连接.对我来说完全是无稽之谈…
SELECT主机,用户FROM mysql.user产量:
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | AddedUser |
| 127.0.0.1 | root |
| li241-255 | root |
| localhost | debian-sys-maint |
| localhost | root |
+-----------+------------------+
问题是我正在使用Node.js在这台机器上开发,我无法使用相同的用户名从服务器本地连接.我试过FLUSH PRIVILEGES,但似乎没有效果.
我知道它不是Node.js,因为我在另一个数据库上使用相同的代码,并且它在该环境中工作.
编辑
这是错误节点给我的.
node.js:50
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: ECONNREFUSED, Connection refused
at Stream._onConnect (net.js:687:18)
at IOWatcher.onWritable [as callback] (net.js:284:12)
编辑2
我有正确的端口&服务器就像我能说的那样.我的/etc/mysql/my.cnf包含这个:
port = 3306
socket = /var/run/mysqld/mysqld.sock
我的MySQL对象包含:
{ host: 'localhost',
port: 3306,
user: 'removed',
password: 'removed',
database: '',
typeCast: true,
flags: 260047,
maxPacketSize: 16777216,
charsetNumber: 192,
debug: false,
ending: false,
connected: false,
_greeting: null,
_queue: [],
_connection: null,
_parser: null,
server: 'ExternalIpAddress' }
可能有用吗?
netstat -ln | grep mysql
unix 2 [ ACC ] STREAM LISTENING 1016418 /var/run/mysqld/mysqld.sock
解决方法:
连接被拒绝在TCP / IP协议级别发出信号,表示您的本地连接尝试使用了错误的主机名和/或(更可能)端口号.
编辑:这是另一个(公认的低概率)可能性:
>您在JS对象中定义了主机和服务器,在这种情况下,node.js可能优先考虑服务器.
>如果externalIPaddress位于NAT防火墙的另一侧,则防火墙可能(实际上应该)配置为丢弃到端口3306的传入流量.
>当您尝试连接时,您的数据包首先被路由到NAT防火墙并在那里被丢弃.
验证同时具有服务器和主机集不会导致此问题.
内容总结
以上是互联网集市为您收集整理的MySQL可以远程连接但不能本地连接全部内容,希望文章能够帮你解决MySQL可以远程连接但不能本地连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。