Mac OS通过SSH远程登录Windows服务器的MySQL数据库

由于一些奇奇怪怪的需求,笔者需要把MySQL搭建在Windows服务器上,这里介绍如何通过比较简单的办法,让Mac端的Navicat能够通过SSH远程登录运行于Windows服务器上的MySQL数据库。客户端软硬件环境为Macbook Air M2+macOS Vantura 13.4.1+Navicat Premium 16.0.7;服务端软件环境为Windows 11 专业版+MySQL 8.0.27,网络状态为处于同一局域网下。

一、修改MySQL远程登录权限

在Windows上安装好MySQL后,需要修改MySQL的登录权限设置远程访问。
Win + R打开运行框,然后输入cmd打开命令提示符。输入

mysql -u root -p

然后输入密码连接到本地MySQL服务。
请添加图片描述
使用命令

use mysql

会显示Database changed,然后使用命令

select host ,user from user;

检查数据库是否已经开启远程登录,发现root对应的是localhost,只允许本地登录,需要修改。
在这里插入图片描述
使用命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

修改远程登录权限,然后使用

FLUSH PRIVILEGES;

刷新刚刚修改好的权限。再次使用

select host ,user from user;

命令查看结果,发现修改成功。
请添加图片描述
最后使用“exit”命令退出MySQL服务。

二、配置Windows服务器的SSH设置

Windows Server 2019和Windows 10及以上版本中,系统为用户单独提供了可供单独安装和卸载的OpenSSH组件,包括客户端和服务器,一般来说OpenSSH客户端已经默认安装好了,同时它跟本实验关系也不大。我们注意需要安装并运行OpenSSH 服务器组件。
打开设置➡️应用➡️可选功能,查看“已安装功能”中是否有“OpenSSH服务器”,如果没有,点击页面上侧“添加可选功能”中的“查看功能”,搜索“OpenSSH服务器”,勾选并跟随引导安装,安装完成后如下图所示。
请添加图片描述
在搜索栏中搜索“服务”并打开,找到“OpenSSH SSH Server”,右键属性,将启动类型修改为“自动”并在服务状态中点击启动,使其处于“正在运行”的状态。
请添加图片描述

三、查询服务器IP地址

再次使用Win + R打开运行框,然后输入cmd打开命令提示符。输入“ipconfig”命令,查询服务器的IP地址并记录,如下图所示。
请添加图片描述

四、Mac端远程登录

打开Navicat,左上角点击“连接”➡️“MySQL”。点击“SSH”,勾选“使用SSH隧道”,“主机”输入第三步查询到的IP地址,端口使用22,用户名和密码为你在Windows服务器上登录用的Microsoft帐户和密码,不确定的可以在Windows上点击“设置”➡️“账户”查看头像右侧写的账户(一般为邮箱)。
如果此时直接左下角点击“测试连接”,会发现提示连接失败,但是“Navicat”到“SSH Server”的带锁的灰线会显示绿色,表示连接SSH服务器已经成功,还需要进一步配置数据库的连接。
在这里插入图片描述
切换回“常规”,配置数据库。输入如下信息,连接名可自定义,主机为localhost,端口使用3306,用户名为root,密码为服务器MySQL的登录密码。
请添加图片描述
点击左下角“测试连接”,发现连接成功请添加图片描述
点击“好”,然后右下角点击“保存”。至此,我们已经能够通过Mac端的Navicat操作位于Windows服务器上的MySQL数据库。请添加图片描述

五、可能出现的问题

  1. 99%的问题都可以通过重启Navicat、重启OpenSSH Server、重启客户端、重启服务器等方法解决;
  2. 连接被拒绝可能是因为Windows端的防火墙的问题,可以通过在控制面板中关闭防火墙解决。

猜你喜欢

转载自blog.csdn.net/weixin_43805744/article/details/131611350