这个错误的原因是 由于Mysql配置了不支持远程连接引起的
解决方法在控制台输入以下命令
Welcome to Alibaba Cloud Elastic Compute Service !
Updates Information Summary: available
5 Security notice(s)
1 Critical Security notice(s)
4 Moderate Security notice(s)
Run "dnf upgrade-minimal --security" to apply all updates.
Last login: Tue Dec 21 16:24:41 2021 from 127.0.0.1
[root@iZbp15g96riblky95cthvdZ ~]# cd ../
[root@iZbp15g96riblky95cthvdZ /]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 104
Server version: 5.7.34-log Source distribution
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql>
mysql> select host from user where user='root';
+-----------+
| host |
+-----------+
| localhost |
+-----------+
1 row in set (0.00 sec)
mysql> update user set host = '%' where user ='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
详细步骤机器解释如下
1.在安装Mysql数据库的主机上登录root用户:
mysql -u root -p
2.依次执行如下命令:
use mysql;
select host from user where user='root'; 可以看到当前主机配置信息为localhost.
3.将Host设置为通配符%
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;
update user set host = '%' where user ='root'; Host设置了“%”后便可以允许远程访问。
4.Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;