连接服务器MySQL数据库常见报错和解决

今天准备和小伙伴们一起写个项目,其中有一个需求需要使用云数据库,正好我之前在服务器上装了mysql数据库,于是我就尝试使用navicat测试一下,走了很多弯路T_T,所以有了这篇博客,给大伙儿避雷!正文开始~

1、环境

服务器:阿里云centOS 7
MySQL版本:5.7
Navicat版本:15

2、连接

首先确保你的MySQL服务已开启,输入如下命令查看:

service mysql status

如果提示OK就说明已启动,否则输入:

service mysql start

以开启MySQL服务!

然后打开navicat准备连接数据库


接着就是一大堆的报错了!但是不要慌,跟着我的步骤来就迎刃而解了!

3、报错和解决

1.ERROR 2003:Can’t connect to MySQL server

检查一下阿里云服务器的安全组,是否开放3306端口

在这里插入图片描述
如果没有,则手动添加一条规则,再测试一下连接。

2.ERROR 1130:Host ‘***’ is not allowed to connect to this MySQL server

本地主机没有权限连接数据库,这个时候输入如下命令:

GRANT ALL PRIVILEGES ON . TO “root”@"%" WITH GRANT OPTION;

%代表任意主机,然后刷新权限:

flush privileges;

然后再测试一下连接。

3.ERROR 1045:Access denied for user ‘root’@‘localhost’ (using password: YES)

这个时候依次输入下面的命令:

use mysql;

update user set authentication_string=password("******") where user="root";

flush privileges;

这里有个坑,网上看到好多教程是这样写的:password=password("******"),这两种写法都对,只不过是针对不同的MySQL版本的,5.7版本已经不再使用password来作为密码的字段了 ,而改成了authentication_string

然后再用新设置的密码进行远程连接就可以了!

这是本人经历了许多次的失败总结出来的,希望对大家有所帮助!

你可能感兴趣的:(MySQL,数据库,mysql,centos,linux,服务器)