原因大致有以下几个:

原因一:先查看宝塔中的3306端口是否开放。
宝塔下载mysql 8.0 navicat连接不上_mysql

原因二:阿里云安全组中的3306端口未开放。

原因三:没有赋权限!

命令行登录mysql

mysql -u root -p

use mysql;

select user,host from user;

update user set host = '%' where user ='root';

完之后,给当前用户所有权限,赋权限,如下命令:

grant all privileges on *.* to root@'%' with grant option;

命令解释:
GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
*.*:当前用户对所有数据库和表的相应操作权限
TO:介词
'root'@'%':权限赋给root用户,所有ip都能连接
WITH GRANT OPTION:允许级联赋权

 完之后,刷新下,命令如下:

flush privileges;

如图:

宝塔下载mysql 8.0 navicat连接不上_数据库_02

此时,连接成功:
宝塔下载mysql 8.0 navicat连接不上_数据库_03