无法连接到远程MySQL Server(10061)

问题描述 投票:11回答:5

在MySQL中启用了本地主机连接。

但是远程(我的笔记本电脑)无法访问

Can't connect to MySQL server on "host" (10061)`.

我的端口始终打开3306。

这是我的配置文件(/etc/mysql/my.cnf):

#bind-address 0.0.0.0
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

并且MySQL状态为:

mysql start/running, process 15204
mysql ubuntu
5个回答
18
投票

要允许远程访问MySQL,您必须在配置文件中注释掉绑定地址(您已这样做)并跳过网络。

接下来,您必须确保允许用户远程访问。使用以下方法检查您的用户:

SELECT User, Host FROM mysql.user;

如果您的用户在此处将'127.0.0.1'或'localhost'列为主机,则您没有远程访问权限。

更改为:

UPDATE mysql.user SET HOST='%' WHERE User='__here_your_username';

刷新权限:

FLUSH PRIVILEGES;

'%'是'所有主机'的通配符。


13
投票

为了允许远程访问安装在Ubuntu上的MySQL,您必须在以下位置访问文件:

/etc/mysql/mysql.conf.d/mysqld.cnf

在那里,您注释掉以下行:bind-address = 127.0.0.1

基本上要更改:绑定地址= 127.0.0.1到:#bind-address = 127.0.0.1

现在,您可以使用以下命令重新启动计算机或仅重新启动mySQL服务:sudo /etc/init.d/mysql restart


2
投票

就我而言,在Ubuntu 18.04的Oracle VM上安装了LAMP堆栈

这是我对mysql配置文件的更新:/etc/mysql/mysql.conf.d/mysqld.cnf

之前:

bind-address          = 127.0.0.1

之后:

# bind-address          = 127.0.0.1
# comment out bind-address to test remote access

确保您的用户可以从远程主机访问须藤mysql -u root -p输入密码,然后发出命令

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

+ ------------------ + ---------------------------- --------------- + ----------------------- + ---------- ---- +|用户| authentication_string |插件|主机|+ ------------------ + ------------------------------ ------------- + ----------------------- + ------------ -+

|新用户| * 9ACA980716AE084BCA56C59D19F3CEB7BB87B139 | mysql_native_password | 192.168.x.x ||新用户| * 9ACA980716AE084BCA56C59D19F3CEB7BB87B139 | mysql_native_password |本地主机|

这对我有用,祝你好运。


1
投票

对于在Raspberry Pi 3上托管MySQL的其他人,您要查找的文件位于

etc/mysql/mariadb.conf.d/50-server.cnf

尽管通过注释掉,您仍然需要遵循上面列出的先前步骤

bind-address = 127.0.0.1

希望这可以帮助其他人花费与我一样多的时间来弥补似乎缺失的线。


0
投票

以下内容对我有用。

   SELECT User, Host FROM mysql.user;
   UPDATE mysql.user SET HOST='%' WHERE User='root';
   UPDATE mysql.user SET HOST='%' WHERE User='administrator';
   FLUSH PRIVILEGES;

然后,

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

更改

bind-address = 127.0.0.1 to: #bind-address = 127.0.0.1

保存文件。重新启动服务器/重新启动MySQL

© www.soinside.com 2019 - 2024. All rights reserved.