无法连接到 AWS 实例上的 mysql 5.7

trouble connecting to mysql 5.7 on AWS instance

我在 AWS 上启动了一个 EC2 实例并正在使用 Ubuntu。我能够连接到实例本身的 MySQL。 (即 mysql -h localhost -u root -p)

但是当我尝试从我的远程计算机连接时 (即 mysql -h ipaddress -u remoteUN -p)

ERROR 2003 (HY000): Can't connect to MySQL server on 'ipaddress' (61)

我已经更改了我的安全设置以允许所有 IP 地址连接到端口 3306 以及端口 22,并且在实例上我创建了一个可以从远程服务器访问 MySQL 的用户

> CREATE USER 'tempuser'@'%' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON *.* TO 'tempuser'@'%'
> WITH GRANT OPTION;

我尝试使用

start/stop mysql 服务器
 > service mysqld restart 

得到以下

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'mysqld.service'.

身份验证为:Ubuntu (ubuntu) 密码:

我不确定默认密码是什么,当我输入 MySQL 密码时,我得到

polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to restart mysqld.service: Access denied
See system logs and 'systemctl status mysqld.service' for details.

> systemctl status mysqld.service
  mysqld.service
  Loaded: not-found (Reason: No such file or directory)
  Active: inactive (dead)

有人知道默认密码是什么或如何重新启动服务器以便我可以远程连接吗?

默认情况下禁用的是远程root 访问。如果你想启用它,运行 本地 SQL 命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;

现在由于无法远程连接,您将不得不 注释掉 bind ip 通常位于 [=14] 上的 my.cnf 文件中的行=] 在 Unix/OSX 系统上。在某些情况下,文件的位置是 /etc/mysql/mysql.conf.d/mysqld.cnf).

找到线路:

bind-address = 127.0.0.1 并通过在其前面添加 # 将其注释掉 保存并重新启动 mysql ,您应该能够远程连接到它。

希望对您有所帮助!