我使用Ubuntu16.04和MySQL 5.7.16并试图从Windows10连接到工作台;我的目标是能够在任何地方从任何计算机登录--我不打算只允许一个IP。
填写凭据后,连接失败:
method | TCP/IP
hostname | IPv4
port | 3306
username | I use the MySQL root user (the one I used to login to PHPmyadmin with)
password | MySQL root password.错误是:
不允许连接到此MySQL服务器。

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
# 127.0.0.1鉴于我使用CSF作为防火墙软件,我不使用本机UbuntuFireWall (UFW)。然而,我确实允许端口3306在csf.conf中进行和输出,并通过sudo csf -r重新启动CSF。
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN -在这种情况下,还有什么能阻止我的远程登录呢?
发布于 2016-12-22 21:13:35
在MySQL中,用户包含两个强制性部分:
所有这些用户都是不同的,可能具有不同的凭据:
每个示例列表-单独的用户和有唯一的访问列表
所以你可以选择:
发布于 2016-12-22 13:00:38
默认情况下,任何用户(甚至根用户)只能从本地主机访问。您必须允许从远程计算机连接。
使用相关的and服务器和MySQL登录到您的计算机,并在CLI终端上直接执行此脚本:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;如果您已经安装了MySQL,那么它应该直接在MySQL上工作,而不需要任何以前的操作。
TO 'root'@'%' -这个部分为每个远程IP提供访问权限。将%更改为只允许访问该IP的任何IP。
见14.7.1.4赠款语法。
https://dba.stackexchange.com/questions/158865
复制相似问题