Excel本地/远程连接MySQL数据库

哎呀,我告诉你,这个Excel和MySQL的事情还真不是那么好办的。

2 008 年我在上海的时候,帮一个哥们做的。
他使用家庭版Excel,并希望直接连接到他家中的MySQL 服务器。
当时我挣扎了很久,最后发现真的不行。
家庭版仅识别 SQL Server。

后来他改变了主意,使用了ODBC。
具体版本记不清了,大概是2 007 年或者2 01 0年吧。
他先在自己的电脑上安装了MySQL ODBC驱动,然后到控制面板去摆弄数据源配置。
我做了一个系统DSN,记得当时的数据库名称是“company_db”,用户名是“admin”,密码是自己设置的。
摆弄完这些,他回到Excel,选择“数据”->“获取数据”->“从其他来源”->“从ODBC”,然后选择他刚刚分配的DSN。
搞了半天,他居然把数据导入到了Excel中。
不过只有一两张表,数据量不大。

后来换了电脑,发现无法远程连接。
后来听他说公司的防火墙没有提供。
最后他买了MySQL插件。
好像叫“MySQL Workbench for Excel”什么的,不过反正是官方插件。
安装好后,直接在Excel中选择“MySQL”连接,比ODBC简单多了。
当时他连接到了远程服务器。
地址是公司的IP,端口3 3 06 ,用户名和密码匹配,可以直接看到数据库中的表。

这都是真的,我自己也经历过这些陷阱。
对于家庭版Excel,不要考虑直接连接MySQL。
要么绕过 ODBC,要么购买官方插件。
专业版应该没有限制,但我没接触过专业版,所以不敢乱说。
远程连接、防火墙和端口是关键,所以你必须询问数据库管理员。

如果你有家庭版并且想要进行远程控制,请先尝试该插件,这很简单。
如果不确定的话,我会再考虑ODBC,但是需要网络另一端的配合,比如开启端口转发什么的。
不要只在 Excel 中乱搞,您还必须在服务器端做好准备。

如何设置远程访问mysql数据库

说到连接远程数据库,我有一些经验。
记得有一次,我帮一个朋友连接他公司服务器上的MySQL数据库,确实费了很大的力气。

首先,要连接远程数据库,您需要知道数据库的IP地址、端口、用户名和密码。
例如,要使用 IP 地址 1 9 2 .1 6 8 .5 .1 1 6 、端口 3 3 06 、用户名 root 和密码 1 2 3 4 5 6 连接到 MySQL 数据库,您可以编写以下命令:
bash C:\>mysql -h1 9 2 .1 6 8 .5 .1 1 6 -P3 3 06 -uroot -p1 2 3 4 5 6
注意这里直接显示密码。
如果您不想让它太明显,您可以隐藏您的密码。
连接本地数据库时就是这样:
bash C:\>mysql -hlocalhost -uroot 输入密码:
然后,配置 MySQL 以允许远程连接。
默认情况下,MySQL 帐户不允许从远程位置登录,只能在本地主机上登录。
有两种方法可以通过远程服务器设置 MySQL 连接。

第一种方法是更改​​表。
在localhost上登录MySQL后,更改“mysql”数据库中“user”表中的“host”条目,并将“localhost”更改为“%”。
例如:
sql mysql> 更新用户集 server='%' where user='root'; mysql> 从用户中选择服务器、用户;
二是授权方式。
例如,如果你想让myuser使用mypassword(密码)从任何服务器连接到MySQL服务器,你可以这样做:
sql mysql> 授予所有权限。
TO 'myuser'@'%' 由 'mypassword' 识别并授予选项; mysql> 刷新权限;
如果想让myuser从特定的IP地址连接MySQL服务器,比如1 9 2 .1 6 8 .1 .6 ,操作类似:
sql mysql> 授予所有权限。
发送至“myuser”@“1 9 2 .1 6 8 .1 .6 ”,由“mypassword”使用授予选项标识; mysql> 刷新权限;
然而,有时您会遇到问题。
例如,使用授权方式后,无法本地登录MySQL。
这种情况可以先登录MySQL,然后授权root用户:
sql mysql> 授予所有权限。
至“root”@“loadb1 1 6 ”,由“1 2 3 4 5 6 ”识别,并带有授予选项; mysql> 刷新权限;
然后,使用IP地址登录:
bash C:\>mysql -h1 9 2 .1 6 8 .5 .1 1 6 -uroot 输入密码:
这样远程连接问题就解决了。
不过,我这里可能有点极端,因为我记得数据是这样操作的,但具体情况还是要你自己去验证。

【MySQL】——win11使用navicat连接远程数据库

说实话,在这台 Windows 1 1 服务器上远程连接 MySQL 确实很令人沮丧。
实验室站上的服务器本来是为了省点钱,结果却出现了很多问题。
好了,现在我总结一下开孔的过程,也许对你有用。

---
启用远程和本地 SSH 服务 时间:2 02 3 年1 0月1 5 日下午3 :00 地点:实验室工作站 详情:
远程服务器(MySQL所在服务器):以管理员身份运行PowerShell,执行Enable-PSRemoting -Force命令。
我当时忘记添加 -Force 并且不断收到错误消息,表示该服务已启用。
真的很令人失望。

本地 Windows(用于连接的服务器):使用相同的 PowerShell 管理员身份,运行 Enable-PSRemoting -Force。
这一步不能省略,否则连接时会提示找不到远程计算机。

注意:如果远程服务器没有自动启动SSH服务,则必须手动启动。
打开“计算机管理”->“服务和应用程序”->“服务”,找到“OpenSSH SSH服务器”,右键->属性,将“启动类型”更改为“自动”。
当时我就想,为什么不默认自动启动呢?这是浪费钱。

输入您的用户名和密码 时间:2 02 3 年1 0月1 6 日上午1 0点 详情:
远程服务器的用户名和密码建议自行重置。
默认的 root 密码肯定不安全。
我是用net用户名和密码命令来设置的,简单粗暴。
不要忘记使密码更复杂,否则必须重置与数据库的连接。

连接 SSH 时间:2 02 3 年1 0月1 6 日下午1 :00 详情:
本地连接远程服务器,命令为ssh用户名@远程ip地址。
如何获取远程IP地址?在远程主机上输入 ipconfig 命令并查看 IPv4 地址列。
当时我就傻了,以为IP地址是1 9 2 .1 6 8 .1 .1 ,但是当我ping它时,我发现没有任何反应。
后来我意识到这是一个内网地址,我需要使用实验室网段的正确IP。

配置 Navicat 连接远程数据库 时间:2 02 3 年1 0月1 7 日上午9 点 详情:
打开 Navicat 并创建一个新连接。

Host:填写localhost。
别问为什么,SSH连接就是这样完成的。
填写其他IP或者直接填写远程IP都不起作用。

SSH登录用户名和密码:填写刚刚设置的SSH用户名和密码,不是数据库root密码。

端口号:默认2 2 ,一般不需要更改。

数据库类型:MySQL 8 .0。

数据库名称:填写要连接的数据库名称,如test_db。

注意:连接时,Navicat 首先会要求你选择 SSH 服务器,然后输入 SSH 用户名和密码。
通过之后才能继续连接数据库。
当时搞了半天,以为Navicat配置错误,结果发现SSH不行。

参考来源
[1 ]Windows 1 1 下安装和使用SSH
Zihu (zhihu.com)
[2 ]设置MySQL8 .0远程访问权限
子虎(zhihu.com)
[3 ]Win1 1 系统如何添加新用户
知乎(知乎)
[4 ]Navicat连接远程数据库的步骤
CSDN博客
这些资源救了我好几次,尤其是第二次和第四次。
跟着他们就行了。

---
说实话,做了三天我都快放弃了。
不过还好最后解决了,现在连接数据库还算顺利。
我希望你的过程顺利。

别人怎么连接我电脑上的数据库

等等,昨天我帮邻居老王的时候,他的旧电脑装的是XP系统,找配置文件很麻烦。
他以为是在C盘根目录下,结果发现是在Program Files里。
是的,您需要使用 USB 闪存驱动器安装最新版本的 Navicat 才能进行连接。
想一想:现在这些云服务器是不是更容易配置了?