当我在办公室时,MySQL在特定的服务器上运行,该服务器称为“ mysqldev”。 在我的/etc/hosts文件中,我设置了“ mysqldev”以匹配该服务器的IP。 到目前为止,一切都很好。 但是,当我使用笔记本电脑不在办公室时,我想使用本地的MySQL数据库,因为我在那里克隆了特定的数据库,并且没有互联网可以连接到办公室数据库。 我不想更改脚本,而是要更改笔记本电脑配置。 所以在我的笔记本电脑上,我已经在/etc/hosts设置了:

127.0.0.1 localhost mysqldev

但是,由于某些原因,此操作无法按预期进行。 如果我使用本地主机上的服务器登录到MySQL,一切都很好。 但是,当我尝试登录mysqldev服务器(与localhost相同的IP)时,出现错误:

Warning: mysqli::mysqli() [mysqli.mysqli]: [2002] Connection refused (trying to connect via tcp://mysqldev:3306)

(这是使用PHP,但是使用命令行是相同的错误)

在系统上设置的用户具有登录此服务器的特定权限:

CREATE USER 'test'@'mysqldev' IDENTIFIED BY '123';

GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'mysqldev';

我还关闭了防火墙进行测试,并且没有任何区别。 会是什么呢?

===============>>#1 票数:6 已采纳

MySQL客户端库尝试猜测如何连接到数据库。 当您将localhost作为主机名时,它假定您正在使用本地套接字(在计算机上搜索名为mysql.sock的文件,可能在/var/lib/mysql/usr/local/mysql/

但是,当您使用其他任何内容(例如ip地址,其他主机名,或者您的情况是mysqldev ,它将尝试通过tcp连接到主机。 从错误消息中,似乎您的本地mysql服务器未在tcp端口3306上侦听(mysql默认)

检查时,如果你的my.cnf(可能/etc/my.cnf/etc/mysql/my.cnf )允许使用TCP的。 如果您找到类似

skip-networking

注释掉:

#skip-networking

并重新启动服务器。 然后重试连接。


要找出您的套接字在哪里,请通过localhost连接并发出以下命令:

mysql> show global variables like '%socket%';
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| socket        | /var/run/mysqld/mysqld.sock |
+---------------+-----------------------------+

===============>>#2 票数:0

如果您正在使用MAMP Pro并遇到问题,则可以简单地取消选中MySQL Server设置中标有“仅允许本地访问”的框。

  ask by translate from so

未解决问题?本站智能推荐:

4回复

我如何使用本地主机连接到我的MySQL服务器?

这听起来可能很愚蠢,但是我从未经历过这样的事情,我正在本地主机上进行开发,但是我的服务器具有1和1,如何使用本地主机连接到服务器上的数据库,主机将是什么? 谢谢
1回复

如何将数据从本地mysql更新到远程mysql服务器?

我有存储在本地主机上的local_db。 T1是local_db中的表。 我只想将T1的数据插入T2。 T2是remote_db中的表,该表存储在远程服务器上。
1回复

使用PHP脚本将MySQL切换到本地服务器访问被拒绝

我一直在使用php脚本与远程服务器上的mySQL数据库连接,并且尝试切换为使用本地服务器。 当我尝试使用以下脚本进行连接时: 并且正在收到以下错误 有人可以建议我需要进行哪些调整吗?
2回复

无法连接到本地mysql服务器

我在Mac Lion上使用终端登录到mysql,但是运行php testscript时出现错误 这些是我的步骤: virtualhost是“ test.dev” 安装Homebrew后,使用以下命令登录: 创建的数据库 输出php testscript
2回复

无法从本地主机连接到MySQL服务器,但是MySQL服务正在运行

无论我尝试什么,我都会不断收到此错误: 错误2003(HY000):无法连接到“本地主机”(10061)上的MySQL服务器。 这适用于:1)> mysql 2)> mysql -u root 3)> mysql -u root -p 4)> mysql
1回复

无法通过Apps脚本(JDBC)连接到本地MySQL服务器

请参阅下面的编辑,我将离开原始问题以帮助其他人。 我试图通过Apps脚本和JDBC连接到本地MySQL服务器,但我不断收到两个错误之一。 这段代码: 给出了Failed to establish a database connection. Check connection st
2回复

连接到本地MySQL服务器时出现“拒绝连接”错误?

我遇到此错误: Warning: mysql_connect(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306) 我看到了一个类似的问题,并且我尝试通过将localhost更改为127.0.0.1来解
1回复

从本地服务器访问android应用中的mysql数据库期间java.io.FileNotFoundException

我正在尝试使用WampServer将我的Android应用程序连接到存储在本地服务器上的MySQL数据库。 但是我得到以下错误。 有人可以帮助解决此错误吗? 这是我的日志文件:
1回复

mysql:保持本地mysql数据库和远程服务器数据库同步

我有点喜欢Web开发。 但似乎大多数人都在本地计算机上进行开发,并在一切准备就绪后将其上传到远程服务器。 我要开始这样做。 我已经在本地计算机上安装了Xampp(Apache)。 但是,为了使它真正起作用,我需要在本地计算机上“同步”或“复制”远程服务器上已经存在的mysql数据库。
1回复

如何使用本地IP地址而不是localhost访问数据库mysql服务器

使用我的本地IP地址访问我的数据库mysql服务器