原因大致有以下几个:
原因一:先查看宝塔中的3306端口是否开放。
原因二:阿里云安全组中的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;
如图:
此时,连接成功: