Mysql服务器的外部连接

2023-11-12

目录

前言:

Windows上的客户端连接工具有:

Linux上连接其他虚拟机上的MySQL服务器:

在Windows上通过Navicat连接虚拟机上的Mysql服务器

1、我们先下载好Navicat:

2、当我们下载安装好Navicat后,打开它,创建新的连接

出现的问题: 

如何解决mysql远程连接问题:

 3、通过Navicat成功连接上mysql数据库

在Linux上通过Mysql客户端工具连接虚拟机上的Mysql服务器

1、首先我们先得下载mariadb

2、通过命令行工具Mysql连接上Mysql服务器(前提是你已经在mysql服务器里创建好远程访问用户了)

3、远程创建新数据库,并在Mysql服务器上验证是否创建成功

Mysql服务器上也可以通过如下命令查看已经连接上mysql服务器的主机IP地址


前言:

继上一次实验,我们已经成功在Linux上安装了mysql服务

(41条消息) Mysql的介绍和软件环境的部署_Claylpf的博客-CSDN博客

下面我们需要通过 Windows 和 Linux 上的 客户端连接工具 来实现连接Linux上的mysql服务

Windows上的客户端连接工具有:

  1. SQLyog,它是一个商业化的 MySQL 数据库管理工具,支持 Windows 操作系统,界面美观,功能强大,支持多种数据导入导出格式。

  2. Navicat,它是一个商业化的 MySQL 数据库管理工具,支持 Windows、Linux 和 macOS 等操作系统,提供了丰富的功能和强大的数据管理能力。

  3. MySQL Workbench,它是MySQL 官方提供的,是一个功能强大的 MySQL 数据库管理工具,支持 Windows、Linux 和 macOS 等操作系统。

Linux上连接其他虚拟机上的MySQL服务器:

可以使用MySQL客户端连接工具,例如命令行工具 mysql 或者 GUI 工具 MySQL Workbench

以下是使用命令行工具 mysql 连接其他Linux服务器上的MySQL服务器的步骤:

  1. 在目标Linux服务器上,安装MySQL服务器,并确保MySQL服务器已经启动。

  2. 在目标Linux服务器上,创建一个MySQL用户,并为该用户分配连接MySQL服务器的权限。

  3. 在本地Linux服务器上,打开终端窗口,输入以下命令连接目标Linux服务器上的MySQL服务器:

    mysql -h <目标服务器IP地址> -u <MySQL用户名> -p
    

    其中,-h 参数指定目标服务器的IP地址或者主机名,-u 参数指定MySQL用户名,-p 参数表示需要输入MySQL用户的密码。

  4. 在输入密码后,就可以连接到目标Linux服务器上的MySQL服务器,并执行相应的SQL命令了。

需要注意的是,如果目标Linux服务器上的MySQL服务器使用了防火墙,需要确保将MySQL服务器的端口(默认是3306)添加到防火墙规则中,以允许其他Linux服务器连接到MySQL服务器。

在Windows上通过Navicat连接虚拟机上的Mysql服务器

1、我们先下载好Navicat:

Navicat的下载与安装教程 - 知乎 (zhihu.com)

2、当我们下载安装好Navicat后,打开它,创建新的连接

点击连接下的Mysql

填入你的Mysql服务器的主机IP地址,以及密码

出现的问题: 

我们先尝试连接,但发现出现下面的问题

如何解决mysql远程连接问题:

 如何解决问题呢,我首先想到的是mysql服务器的防火墙把我拦截了,因此

我关闭了linux里的防火墙

但是问题还是没有解决,所有就只有可能是Mysql服务拒绝我们通过root用户去访问Mysql服务器,因此我们必须在Mysql服务器内部创建一个能够远程连接的用户 去连接mysql服务器

 先登录mysql服务器

 新建一个用户lpf,密码为123456,并给他授权,使我们可以远程登录mysql服务器

命令解释:
grant是mysql里的授权命令

all 表示所有的权限(如:select,update,delete,insert等)

on  *.*  表示在所有的数据库上所有的表里,第一个*代表数据库,第二个*代表的是库里所有的表

to 'lpf'@'%'  给lpf用户授予以上权限,可以从任意ip地址远程连接过来  @只是分隔符,无意义,%代表任意IP地址,是mysql里的通配符

identified by '123456' 表示密码为123456 

;  是mysql里的结束符号,必须要接

 3、通过Navicat成功连接上mysql数据库

下面我们完成创建新的用户了,接下来就可以通过Navicat连接上mysql服务器了

如下图所示:

双击linux-mysql,如果显示如下图所示,则表示连接成功了

 

同样我们也可以使用SQLyog连接上虚拟机上的Mysql服务,基本连接步骤与Navicat十分相似。

在Linux上通过Mysql客户端工具连接虚拟机上的Mysql服务器

1、首先我们先得下载mariadb

或者直接安装mysql(yum install mysql -y)

2、通过命令行工具Mysql连接上Mysql服务器(前提是你已经在mysql服务器里创建好远程访问用户了)

我们将如下图所示,写如下命令:

 其中 -u 表示登录用户  -p 表示用户密码  -h表示指定Mysql服务器的IP地址或者主机名

上图就是Linux通过Mysql命令行工具创建好连接的图片。

3、远程创建新数据库,并在Mysql服务器上验证是否创建成功

下面是在远程linux上创建表的过程

MySQL [(none)]> show databases;               展示数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

MySQL [(none)]> create database sanchuang;    创建数据库
Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sanchuang          |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

MySQL [(none)]> 

下面是Mysql服务器上的数据库的展示

root@(none) 20:44  mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sanchuang          |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

root@(none) 21:27  mysql>

由上可知,远程linux服务器成功的连接上了Mysql服务器了

我们也可以在Windows上的Navicat看到创建的新数据库sanchuang的出现

由上面可以知道我们的Windows和远程Linux服务器成功的连接上了Mysql服务器了。

Mysql服务器上也可以通过如下命令查看已经连接上mysql服务器的主机IP地址

root@(none) 21:27  mysql>show processlist;         #可以查看有哪些用户远程连接上了我的Mysql服务器上去了
+----+------+---------------------+------+---------+------+----------+------------------+
| Id | User | Host                | db   | Command | Time | State    | Info             |
+----+------+---------------------+------+---------+------+----------+------------------+
|  8 | root | localhost           | NULL | Query   |    0 | starting | show processlist |
|  9 | lpf  | 192.168.2.5:50577   | sys  | Sleep   |  102 |          | NULL             |
| 10 | lpf  | 192.168.2.5:50595   | sys  | Sleep   |  102 |          | NULL             |
| 12 | lpf  | 192.168.2.215:59666 | NULL | Sleep   |  432 |          | NULL             |
+----+------+---------------------+------+---------+------+----------+------------------+
4 rows in set (0.00 sec)

root@(none) 21:32  mysql>

实验完毕!! 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql服务器的外部连接 的相关文章

  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • 忽略重复条目并在 EF Core 中的 DbContext.SaveChanges() 上提交成功条目

    我有一个 ASP Net Core 2 2 Web API 在我的一个控制器操作中 我向 MySQL 数据库表添加了一堆行 我使用的是 Pomelo 例如 dbContext AddRange entities dbContext Save
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • MySQL连接字符集问题

    我在 Mac 上使用带有 MySQL 的 velosurf 没有任何编码问题 但是当我切换到 Linux 计算机时 从 velosurf 获得的值未正确编码 我发现这可能是默认连接字符集的问题 在 Mac 上我得到 mysql gt sho
  • 即使使用“autoReconnect=true”,MySql JDBC 也会超时[重复]

    这个问题在这里已经有答案了 有时 我的 Java Tomcat6 Debian Squeeze 应用程序无法与 MySql 服务器通信 Tomcat 应用程序位于前端服务器上 而 MySql 位于单独的 仅限 MySql 的机器上 一个典型
  • gem install mysql:无法构建 gem 本机扩展 (Mac Lion)

    我为 Mac OS X Lion 安装了 MySQL 5 5 27 来自 dmg 现在我尝试安装 mysql gem gem install mysql Building native extensions This could take
  • 如何将ElasticSearch与MySQL集成?

    在我的一个项目中 我计划将 ElasticSearch 与 MySQL 结合使用 我已经成功安装ElasticSearch 我可以单独管理ES中的索引 但我不知道如何用 MySQL 实现同样的功能 我读过一些文件 但我有点困惑 没有明确的想
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe

随机推荐

  • c++(练习题)————无重复字符的最长子串

    题目描述 给定一个字符串 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符的最
  • 解决vue项目中出现的console报错问题

    解决vue项目中出现的console报错问题 问题描述 在vue项目中 使用console log输出是总是会报错 使用如下 控制台报错如下 页面报错如下 vue项目中使用的版本如下 package json文件 产生原因 ESLint代码
  • C#中 ??、 ?、 ?: 、?.、?[ ]

    1 可空类型修饰符 引用类型可以使用空引用表示一个不存在的值 而值类型通常不能表示为空 例如 string str null 是正确的 int i null 编译器就会报错 为了使值类型也可为空 就可以使用可空类型 即用可空类型修饰符 来表
  • 缓存系列文章--8.热点key问题(mutex key)

    转载请注明出处哈 http carlosfu iteye com blog 2269678 一 引出热点key问题 我们通常使用 缓存 过期时间的策略来帮助我们加速接口的访问速度 减少了后端负载 同时保证功能的更新 一般情况下这种模式已经基
  • 2020-04-21

    实验2 3 1 求1到100的和 10分 本题要求编写程序 计算表达式 1 2 3 100 的值 输入格式 本题无输入 输出格式 按照以下格式输出 sum 累加和 代码 int main int i 0 int sum 0 for i 0
  • Numpy--布尔索引

    布尔索引 布尔索引是通过相同数组上的True还是False来进行提取的 提取的条件可以有多个 那么如果有多个 可以使用 来代表且 用来代表或 如果有多个条件 那么每个条件要使用圆括号括起来 布尔运算也是矢量的 比如以下代码 a1 np ar
  • IOS拉伸圆角图片

    UIImage buttonImageNormal UIImage imageNamed whiteButton png UIImage stretchableButtonImageNormal buttonImageNormal stre
  • String,StringBuffer,StringBuilder三者的异同?

    String StringBuffer StringBuilder三者的异同 String 不可变的字符序列 底层使用char 存储 StringBUffer 可变的字符序列 线程安全的 效率低 底层使用char 存储 StringBuil
  • 刀片服务器做虚拟机,刀片服务器Vmware虚拟化部署经验分享(初稿).docx

    HP C7000刀片服务器虚拟机部署经验分享 本文主要介绍一台新的 HP C7000 刀片服务器从上架加电到进行虚拟机部署的主要步骤 第一部分 为刀片系统配置远程管理 首先附 C7000刀片服务器各组件示意图一张 注意图中的 Insight
  • 华为云服务器免费用,CDN免费用,数据库免费用,免费免费,全场免费

    华为云免费专区 全场免费 自从华为云17年进军公有云市场以来 市场份额增长神速 20年华为云以高达259 6 的同比增长速度 已然稳定公有云市场前三的位置 但很多人依然没有试用过华为云的产品 即便性价比很高 也不敢贸然更换厂商 俗话说是骡子
  • 【ubuntu】Anaconda 安装+环境配置:pytorch1.5.0+torchvision0.6.0+cudatoolkit10.1

    1 正确安装anaconda 1 下载对应Anaconda版本 以Anaconda3 5 3 1 Linux x86 64 sh为例 Anaconda下载连接 2 命令安装 bash Anaconda3 5 3 1 Linux x86 64
  • C语言文件详解(超级详细,记得收藏~~~)

    什么是文件 磁盘上的文件是文件 在程序设计中 我们一般读的文件有两种 程序文件 和 数据文件 程序文件包括源程序文件 后缀为 c 目标文件 win下后缀为 obj 可执行文件 win下环境后缀为 exe 数据文件 文件的内容不一定是程序 而
  • java oauth2登录以及权限_OAuth2实现单点登录SSO

    1 前言 技术这东西吧 看别人写的好像很简单似的 到自己去写的时候就各种问题 一看就会 一做就错 网上关于实现SSO的文章一大堆 但是当你真的照着写的时候就会发现根本不是那么回事儿 简直让人抓狂 尤其是对于我这样的菜鸟 几经曲折 终于搞定了
  • WebSocket和HTTP的区别及原理

    HTTP协议 HTTP是单向的 客户端发送请求 服务器发送响应 举例来说 当客户端向服务器发送请求时 该请求以HTTP或HTTPS的形式发送 在接收到请求后 服务器会将响应发送给客户端 每个请求都与一个对应的响应相关联 在发送响应后客户端与
  • Jni基础

    1 JNI 的一般开发流程 1 1 定义好本地的 native 方法 package com darren ndk day13 import java util UUID public class Simple1 public static
  • 【转码方式】-Base64

    Base64 作用 在数据传输过程中 如果报文中存在英文字母以外的字符 就会出现乱码 如中文 图片 或者二进制报文 此时就可以通过Base64将不规则的数据流转化成Base64规定的64个可打印的字符 提高数据的可读性和可打印性 转码原理
  • c++实现合并两个无序数组并以从大到小的顺序排序

    今天做了一下途游游戏的线上笔试题 题目中有一个是合并两个无序数组并排序 从大到小 在这里写一下我的思路 如果有更简单思路的大神请给我留言 我首先想到的一个思路就是把A和B先放在同一个数组里 在随便用一个排序算法对新数组进行排序 这个方法时间
  • Shell脚本中2>&1、>、>>等符号到底是什么含义

    场景 在Linux Shell命令中 我们经常会遇到命令中类似这样的 gt 2 gt 1 符号 那么这些符号是什么含义 有什么用处呢 下面一起来看下 概念 在Linux shell中 0 1 2代表文件描述符 名称 代码 操作符 Java中
  • C++多种解法求最大回文子串

    题目 给定一字符串 求最长的回文子串 解法一 暴力法 循环查找字符串中的所有回文子串 时间复杂度O N3 第一遍循环 选取开始点 i 第二遍循环 选取结束位置 j 第三遍循环 判断 i j 是否为回文字符串 int palindromeA
  • Mysql服务器的外部连接

    目录 前言 Windows上的客户端连接工具有 Linux上连接其他虚拟机上的MySQL服务器 在Windows上通过Navicat连接虚拟机上的Mysql服务器 1 我们先下载好Navicat 2 当我们下载安装好Navicat后 打开它