首先检查Navicat的主机名是否正确,应该是正确的。尽量主机号复制就可以
主要有两种可能:1.阿里云.没有开启主机号的命令
2.阿里云的nginx配置问题
1.找到安全组,点进去ID名字
2.检查是否有3306端口
再试一次 能不能连接成功。
第二个原因:mysql8和mysql5的配置方法不一样,授予权限出了问题。
打开终端或命令提示符,然后输入以下命令以连接到MySQL服务器:
mysql -u root -p
按回车键后,系统会提示输入密码。输入正确的密码后,按回车键继续。
这里 如果你没有修改密码,需要执行下列语句获取一个红色的临时密码输入进去
#获取临时密码
cat /var/log/mysqld.log | grep password
进去以后变成了mysql> (如果没有就是mysql的安装,就看我的前一篇文章就可以)
在MySQL命令行中,输入以下命令来修改主机的密码:
ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';
其中,’用户名’是要修改密码的数据库用户的名称,’localhost’是该用户的主机。如果要修改root用户的密码,可以将’用户名’替换为’root’
执行命令后,MySQL服务器会返回Query OK, 0 rows affected (0.01 sec)
接下来创建一个用户,并赋权。
输入以下命令:
MySQL5.7中
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION
但是mysql8必须
CREATE USER '用户'@'%' IDENTIFIED BY '密码'; -- 创建用户并指定密码
GRANT ALL PRIVILEGES ON *.* TO u@'%' WITH GRANT OPTION; --授权
再刷新
FLUSH PRIVILEGES;
然后测试和Navicat的连接。
如果要退出MySQL命令行,输入以下命令:
exit