在AWS实例上连接到mysql 5.7时遇到问题

时间:2018-08-29 01:21:29

标签: mysql amazon-web-services ubuntu amazon-ec2 mysql-5.7

我在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;

我尝试使用

启动/停止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)

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

1 个答案:

答案 0 :(得分:1)

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

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

现在,由于无法进行远程连接,您必须在UNIX /上通常位于bind ip的{​​{1}}文件中的注释 my.cnf行中OSX系统。在某些情况下,文件的位置为/etc/mysql/my.cnf)。

找到线:

/etc/mysql/mysql.conf.d/mysqld.cnf 并通过在其前面添加bind-address = 127.0.0.1进行注释并保存并重新启动mysql,您应该可以远程连接到它。

希望这会有所帮助!