Navicat远程连接Linux环境下MySQL(错误error:1045/1251/2003(10038)/2059)解决方案
navicat远程连接linux环境下mysql(error:1045)解决方案心路历程因为之后要学习有关数据库开发的课程,我们需要部署云服务器并添加mysql功能,以便后续研究学习,我折腾了好几天,按照现有的教程安装,一开始还好好的,慢慢的错误百出,又去查自己遇到的问题,做不通又清空服务器数据推倒重来……离目标渐行渐远,(期间问老师,查度娘……)非常低效。好在我没有放弃!经过一番曲折之后,我终于
Navicat远程连接Linux环境下MySQL(错误error:1045/1251/2003(10038)/2059)解决方案
心路历程
因为之后要学习有关数据库开发的课程,我们需要部署云服务器并添加mysql功能,以便后续研究学习,我折腾了好几天,按照现有的教程安装,一开始还好好的,慢慢的错误百出,又去查自己遇到的问题,做不通又清空服务器数据推倒重来……离目标渐行渐远,(期间问老师,查度娘……)非常低效。好在我没有放弃!经过一番曲折之后,我终于成功的连接上了!
下面废话不多说,上干货!
提示
:错误1045/2003(10038)需要全部看完
错误1251/2059请直接看标题四
确定现阶段部署/安装的状态
项目部分 | 状态 |
---|---|
云服务器 | CentOS 7.x |
MySQL | 8.x |
winSCP | SFTP视图化工具(方便修改Linux文件,可选其它,如Xftp等) |
SecureCRT | 远程登录工具(可选其它,如Xshell等) |
首先你要确定你已经获得了一台云服务器,(楼主用的阿里云)选择安装了CentOS 7(版本不同自测),并为其安装了MySQL8.x(我用的mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz)
有远程登录工具可以正常访问进入云端Linux系统
一、为MySQL root用户添加/修改远程访问权限
操作
远程主机目录下
/etc/my.cnf文件
删除或注释bind-address字段有关的行(#注释掉或者直接把这行删除)
通过secureCRT访问远程主机并以root用户登录MySQL
添加或修改root用户的访问地址(默认root@localhost)(root@%的意思是任意ip)
username@localhost | username@% |
---|---|
仅为本地(本机或局域网访问) | 任意ip地址均可访问(实现远程访问) |
下面可以尝试以下两种命令(任选其一)为root用户修改/添加 %
mysql> use mysql;
//第一种(直接把root@localhost修改成root@%)
mysql> update user set host = '%' where user = 'root';
//第二种(额外添加一个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> use 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连接MySQL(error:1251/2059如未出现此问题可跳过)
当Navicat连接MySQL出现1251/2059时,需要修改密码的加密权限
通过secureCRT登录远程主机
登录MySQL
输入以下命令
//不输前两条也可以
//输入第一行会出现乱码(直接无视,正常输入后续指令即可)输完可去云服务器页面重启主机
mysql> select host,user,plugin,authentication_string from mysql.user;
//设置密码永不过期
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '当前你的root@%密码' PASSWORD EXPIRE NEVER;
//修改密码+修改加密规则(可用当前密码,这条命令必须输入)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';
//刷新数据
mysql> FLUSH PRIVILEGES;
(tips:记得改一下连接属性的密码(因为这个步骤修改了MySQL密码))
连接成功
以上操作设置好后就可以愉快的打开Navicat添加一个远程连接了!
下面show图(ps:心情瞬间舒畅许多)
Navicat新建连接设置如图
点击连接测试
以上就是本期教程的全部内容,祝大家操作顺利,共同进步!
更多推荐
所有评论(0)