一、直连方式(通过3306端口)

1.概述

开启服务器的3306端口,添加MySQL远程访问用户,可以实现直接连接远程MySQL的功能,效果就是直接将localhost换成服务器公网IP就能访问。

2. 环境准备

本地:Navicat

服务器:阿里云ECS、安装好JDK、MySQL

3.操作及讲解

(1)开放服务器安全组中3306端口

打开云服务器的3306端口是存在一定的安全风险的,默认安全组是不允许外部访问3306端口的。

登录阿里云–》控制台–》找到自己的云服务器ECS–》进去后点击实例ID

点击本实例安全组–》选择配置规则–》添加一条配置信息

(2)添加MySQL远程访问用户

在安装好的MySQL数据库中存在一个mysql库,库里面有一个user表,该表存储了mysql的用户信息,默认情况下是这样的[外链

只允许本地通过root账户登录(不关注另外两个),我们现在添加一个能够远程访问的用户既Host为%的用户。

通过shell工具连接服务器,登录mysql运行以下命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;

添加一个能够冲任意IP登录的账号,账号为root,密码为123456。第二句为刷新权限,不刷新不管用。

(3)通过本地Navicat连接远程MySQL数据库

上面我们配置好了安全组访问控制,配置了MySQL远程登录用户,接下来我们就可以直接远程访问MySQL了。

连接名:随意

主机:服务器IP地址

端口:3306

用户名:root

密码:123456

对比本地数据库只更改了一个IP地址就能够连接了。项目也可以直接将连接信息中localhost更改成IP地址直接访问云端的数据库。

二、使用SSH通道

1.概述

开放3306端口存在一定的安全风险,项目和数据库存放于一个服务器,不需要通过公网IP访问,开发时本地又需要连接数据库,可以使用SSH通道连接的方式连接数据库,既本地通过服务器账号密码连接服务器,然后连接MySQL,对于MySQL来说这就是一个本地的访问连接。

2.环境准备

本地:Navicat

服务器:阿里云ECS、安装好JDK、MySQL

3.操作及讲解

本方法不需要开发安全组端口,不需要为MySQL添加远程访问用户。使用SSH通道使用服务器登录账号连接MySQL。

(1)配置SSH连接

连接时选中SSH选项,选中使用SSH通道

主机:服务器公网IP

端口:22(SSH连接端口,阿里云安全组默认放开)

用户名:登录服务器系统的用户名(注意不是MySQL的)

密码:登录服务器系统的密码(注意不是MySQL的)

以上行为相当于shell连接上了服务器

(2)配置数据库连接信息

常规操作,

主机名:随意。

主机:localhost

端口:3306

用户名:mysql用户名

密码:mysql密码

因为已经SSH连接了服务器,此处相当于本地连接MySQL。

Navicat给的这个图很形象,Navicat连接服务器,再在内部直接连接数据库

如果对你有帮助,不要忘了点个赞呦,有问题可以提问,博主每天都会来逛逛的。

Navicate 连接阿里云MySQL(两种方式及原理讲解)的更多相关文章

  1. 网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别

    1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2 ...

  2. Eclipse通过jdbc连接sqlserver2008数据库的两种方式

    数据库登录身份验证方式有两种     其中服务器名称即为安装SQLServer2008的电脑,充当数据库服务器,在笔者这里就是自己的电脑名称. 身份验证方式有两种:windows身份验证和SQLSer ...

  3. 本地DataGrip连接阿里云MySQL

    1.阿里云上开通MySQL端口 2.MySQL上的设置 1⃣️mysql -uroot -p2⃣️create user 'usrabc'@'%' identified by 'usrabc'; 3. ...

  4. C#+VisionPro连接相机获取图像的两种方式

    两种比较常用的方式. C#直接连接相机获取图像(GIGE) 在获取图像前,需要先创建一个相机对象,再使用这个相机对象的Acquire方法拍摄照片. ICogAcqFifo macqfifo;//定义相 ...

  5. navicat连接阿里云mysql数据库服务器遇到的1130等相关问题

    最近搭建自己的博客网站的时候使用了阿里云的云服务器ESC,搭建了一个mysql数据库,在windows下使用navicat连接mysql的时候,总是连接不上,出现了1130的问题等等错误信息. 下面将 ...

  6. 【FineBI】FineBI连接阿里云mysql教程

    因为某些原因需要查看数据信息,之前连接成功一次,今天软件更新了以后发现连接信息丢. 又重新折腾了一下. 主要有2个地方: 1.查看阿里云数据库外网连接地址:打开云数据库RDS-实例列表-管理-数据库连 ...

  7. Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试

    今天看了勇哥的博文"http://luoyong0201.blog.163.com/blog/static/1129305201510153391392/",又认识到了一种新的连接 ...

  8. 使用Navicat连接阿里云mysql报错10061

    1.添加一个远程访问账号admin mysql> use mysql; mysql> GRANT ALL ON *.* TO 账户@'%' IDENTIFIED BY '密码' WITH ...

  9. python连接redis数据库的两种方式

    代码: # __author__ = 'STEVEN' import redis # 方式1,直接连接 # r = redis.Redis(host='192.168.43.22',port=6379 ...

随机推荐

  1. [刘阳Java]_Web前端入门级练习_迅雷首页第一屏设计

    今天接着上一篇文章<Web前端入门级练习_迅雷官宣网设计>正式开始迅雷首页第一版的设计.如果完成,则最终的效果图如下 第一步:先完成logo部分的设计 logo设计,我们会使用CSS的定位 ...

  2. 12、Java——异常

    ​  1.异常处理方案: 异常抛出 : throws 把异常抛出到上一层,谁调用谁解决 异常捕获 : try..catch try{ 有可能出现异常的代码; }catch(FileNotFoundEx ...

  3. 记录Jackson和Lombok的坑

    记录Jackson和Lombok的坑 今天遇到Jackson反序列化json缺少了字段,后来研究下发现是Jackson的机制和Lombok生成的setter不一致,导致没有正确调用setter. 复现 ...

  4. ES6 数组Arrary 常用方法

    ES6 数组Arrary 常用方法: <script type="text/javascript"> // 操作数据方法 // arr.push() 从后面添加元素,返 ...

  5. Oracle执行计划总结

    一.ORACLE中常见执行计划 表访问的执行计划 1.table access full:全表扫描.它会访问表中的每一条记录. 2.table access by user rowid:输入源rowi ...

  6. Leetcode6. Z 字形变换

    > 简洁易懂讲清原理,讲不清你来打我~ 输入字符串,按下右上下右上排列后输出字符串![在这里插入图片描述](https://img-blog.csdnimg.cn/4578280a7c1848c ...

  7. 【系统学习ES6】新专题发布

    我要发免费专题了,向下看 公众号和博客都有一阵没更新了,丢了一些粉儿,但是也很庆幸,时时还会有人关注.我并不是什么专业讲师,文章都是利用业余时间手工原创.在这里非常感谢各位的支持和厚爱. 这个月开始, ...

  8. 开源基于docker的任务调度器pipeline,比`quartzs` 更强大的分布式任务调度器

    pipeline 分布式任务调度器 目标: 基于docker的布式任务调度器, 比quartzs,xxl-job 更强大的分布式任务调度器. 可以将要执行的任务打包为docker镜像,或者选择已有镜像 ...

  9. vscode配置java+gradle开发环境

    1.安装扩展包Java Extension Pack,里面包含java开发所必须的扩展 2.安装java jdk,8版本就是1.8版本,根据需要安装不同的版本 3.下载gradle,将bin文件夹添加 ...

  10. 大数据学习(12)—— Hive Server2服务

    什么是Hive Server2 上一篇我们启动了hive --service metastore服务,可以通过命令行来访问hive服务,但是它不支持多客户端同时访问,参见官网说明:HiveServer ...