欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Navicat远程连接Mysql

程序员文章站 2022-07-10 10:45:50
...

一、修改host访问权限

 默认的账号的host属性都是localhost,意思是这个账号只能本地使用,如果要使用某个账号来远程登录,必须将账号的host属性值更改成%。

select user,host from user;

Navicat远程连接Mysql
 修改远程可访问权限。直接执行下列语句,可能会报错,是因为此处有多个root用户纪录在USER表中,执行完毕后,其实已经修改成功,需要select host from user where user = 'root';查看一下host是否已经有了%这个值,有了就可以了.

update user set host = '%' where user = 'root';
select host from user where user = 'root';

Navicat远程连接Mysql

二、Navicat进行远程连接

Navicat远程连接Mysql
Navicat远程连接Mysql
Navicat远程连接Mysql
Navicat远程连接Mysql

三、为什么使用ssh登录

1.便捷性

 我这里使用的是阿里云ESC服务器,阿里云服务器ECS处于安全考虑默认自带安全组(仅开放了22号和3389号端口),如果说使用mysql、redis等要单独开放窗口,比如这里我们就要开放3306端口来进行MySQL连接,是比较麻烦的。
Navicat远程连接Mysql
 Navicat 通过ssh连接MySQL数据库,不用对外开放数据库端口(默认3306),也不用另外创建一个允许外部网络连接用户,可以大大提高安全性,当然,前提你是的服务器要开启ssh服务。

2.安全性

以下内容摘选自*:
 Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境[1]。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接[2]。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。使用频率最高的场合类Unix系统,但是Windows操作系统也能有限度地使用SSH。2015年,微软宣布将在未来的操作系统中提供原生SSH协议支持[3],Windows 10 1809 版本已提供可手动安装的 OpenSSH工具[4]。
 在设计上,SSH是Telnet和非安全shell的替代品。Telnet和Berkeley rlogin、rsh、rexec等协议采用明文传输,使用不可靠的密码,容易遭到监听、嗅探和中间人攻击[5]。SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。
 不过,SSH也被指出有被嗅探甚至解密的漏洞。早在2011年,中国的互联网审查机构已经有能力针对SSH连线的刺探及干扰。[6][7]而后爱德华·斯诺登泄露的文件也指出,美国国家安全局有时能够把SSH协议传输的信息解密出来,从而读出SSH会话的传输内容[8]。2017年7月6日,非营利组织维基解密确认美国*情报局已经开发出能够在Windows或Linux操作系统中窃取SSH会话的工具。[9]

相关标签: MySQL