Navicat远程连接Linux环境下MySQL(error:1045)解决方案

Navicat远程连接Linux环境下MySQL(error:1045)解决方案

心路历程

因为之后要学习有关数据库开发的课程,我们需要部署云服务器并添加mysql功能,以便后续研究学习,我折腾了好几天,按照现有的教程安装,一开始还好好的,慢慢的错误百出,又去查自己遇到的问题,做不通又清空服务器数据推倒重来……离目标渐行渐远,(期间问老师,查度娘……)非常低效。好在我没有放弃!经过一番曲折之后,我终于成功的连接上了!
下面废话不多说,上干货!

确定现阶段部署/安装的状态

项目部分 状态
云服务器 CentOS 7.x
MySQL 8.x
winSCP SFTP视图化工具(方便修改Linux文件)
SecureCRT 远程登录工具(可选其它,如Xshell等)

首先你要确定你已经获得了一台云服务器,(楼主用的阿里云)选择安装了CentOS 7(版本不同自测),并为其安装了MySQL8.x(我用的mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz)
有远程登录工具可以正常访问进入云端Linux系统

一、为MySQL root用户添加/修改远程访问权限

操作

远程主机目录下
/etc/my.ini文件
删除或注释bind-address字段有关的行(#注释掉或者直接把这行删除)
通过secureCRT访问远程主机并以root用户登录MySQL
添加或修改root用户的访问地址(默认root@localhost)(root@%的意思是任意ip)

username@localhost username@%
仅为本地(本机或局域网访问) 任意ip地址均可访问(实现远程访问)

下面可以尝试以下两种命令为root用户修改/添加 %

//第一种
mysql> update user set host = '%' where user = 'root';
//第二种
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

验证root远程登录功能是否修改成功

方法一:
mysql下输入

mysql> use mysql;
mysql> select user, host from user;

效果如下

方法二:
mysql下输入

mysql> select host from user where user = 'root';

效果如下

二、给云服务器添加MySQL相应的端口(3306)

在云服务器实例页面进入安全组,点击相应远程主机的配置规则
操作如图
在这里插入图片描述
在这里插入图片描述
快速添加一个MySQL的端口
在这里插入图片描述
在这里插入图片描述
效果如下
在这里插入图片描述

三、▲重要步骤:修改root@%密码(重新初始化)

通过secureCRT登录远程主机
登录MySQL
重新设置localhost的密码和%的密码(必须修改root@%的密码,类似于初始化,否则无法远程登录)
代码如下

mysql> alter user'root'@'localhost' IDENTIFIED BY '新的密码';
mysql> alter user'root'@'%' IDENTIFIED BY '新的密码';

连接成功

以上操作设置好后就可以愉快的打开Navicat添加一个远程连接了!
下面show图(ps:心情瞬间舒畅许多)
Navicat新建连接设置如图
在这里插入图片描述
点击连接测试
在这里插入图片描述


以上就是本期教程的全部内容,祝大家操作顺利,共同进步!

猜你喜欢

转载自blog.csdn.net/u012175183/article/details/115415791