Mysql服务器的外部连接

目录

前言:

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  -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服务器的外部连接_第1张图片

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

Mysql服务器的外部连接_第2张图片

出现的问题: 

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

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

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

我关闭了linux里的防火墙

Mysql服务器的外部连接_第3张图片

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

 先登录mysql服务器Mysql服务器的外部连接_第4张图片

 新建一个用户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服务器了

如下图所示:

Mysql服务器的外部连接_第5张图片

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

 Mysql服务器的外部连接_第6张图片

Mysql服务器的外部连接_第7张图片

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

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

1、首先我们先得下载mariadb

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

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

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

Mysql服务器的外部连接_第8张图片

 其中 -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的出现

Mysql服务器的外部连接_第9张图片

由上面可以知道我们的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>

实验完毕!! 

你可能感兴趣的:(mysql,linux,数据库)