navicat新建了mysql连接名后竟然在原先连接名下生成了数据库
问题:
navicat链接我的mysql数据库只能有一个连接名吗,为什么我新建了highways连接名后右键运行上述命令,竟然在我原先的连接名目录下生成了henan_highway
分析:
一、为什么你新建了 highways连接名,但执行 CREATE DATABASE后,数据库却出现在原来的连接名下?
原因分析:
-
原来有一个连接名(比如叫
localhost或者别的默认名称) -
后来你又新建了一个连接名,比如叫
highways -
你右键点击的是
highways这个连接,然后新建查询,执行了:CREATE DATABASE henan_highway CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -
但执行后发现,数据库
henan_highway却出现在你原来那个连接名下,而不是highways下 -
🔍 问题根源可能是:
❗ 你新建的
highways连接,和原来的连接,其实是连接到同一个 MySQL 服务实例(比如都是 localhost 的 3306 端口),所以无论你在哪个连接下执行CREATE DATABASE,都会在同一个 MySQL 服务器上创建数据库,而这个数据库会在所有连接中都可见。
二、Navicat 中“连接名”是什么意思?
在 Navicat 中:
-
“连接名”(比如 localhost、highways、test_conn 等)只是你给这个数据库服务器连接起的一个“别名”或“配置入口”。
-
每个连接代表你通过某种方式(比如 IP、端口、用户名、密码)连接到 一个 MySQL 服务实例。
-
一个 MySQL 服务实例(比如 localhost:3306)可以包含多个数据库(如 db1, db2, henan_highway)。
-
不同的连接名,如果配置连接到了同一个 MySQL 服务(同样的主机、端口、用户),那么它们其实访问的是同一个数据库服务器,看到的数据库是相同的!
三、举个例子帮你理清思路
假设:
|
连接名 |
主机 |
端口 |
用户名 |
实际连接的 MySQL 服务 |
|---|---|---|---|---|
|
localhost |
127.0.0.1 |
3306 |
root |
MySQL Server A |
|
highways |
127.0.0.1 |
3306 |
root |
MySQL Server A |
👉 你创建了两个连接,localhost和 highways,但它们都是连接到 同一个 MySQL 服务器(127.0.0.1:3306),并且用的是同一个用户(比如 root)。
在这种情况下:
-
不管你是在
localhost连接下执行CREATE DATABASE henan_highway; -
还是在
highways连接下执行同样的语句;
👉 结果都是:在同一个 MySQL 服务器上创建了一个数据库叫 henan_highway。
而这个数据库,你之后在 任何连接(包括原来的 localhost或新的 highways)下 展开数据库列表时,都能看到它!
四、总结
❓ 问题:为什么我新建了 highways连接名,执行 CREATE DATABASE后,数据库却出现在我原来的连接名目录下?
✅ 答案:
-
Navicat 的“连接名”只是你连接 MySQL 服务器的配置入口,多个连接名可能连接的是同一个 MySQL 服务(比如都是 localhost:3306)。
-
数据库(如
henan_highway)是存储在 MySQL 服务器上的,不属于某个连接。 -
不管你通过哪个连接(比如 highways 或 localhost)执行
CREATE DATABASE,只要它们连的是同一个 MySQL 服务器,那么创建的数据库对所有连接都是可见的。 -
你看到数据库出现在原来的连接名下,只是因为你展开的是原来的连接,但其实数据库是创建在 MySQL 服务器上的,你通过 highways 连接也能看到它!
-
你可能误以为新建的连接会独立出一个新的 MySQL 服务,实际上不是的,多个连接可能指向同一个数据库实例。
附、数据库目录项解释

这是MySQL数据库管理系统中的数据库列表,我来解释每个数据库的含义:
-
henan_highway - 这看起来是一个用户自定义的数据库
-
information_schema - 这是MySQL的元数据信息数据库,包含关于所有其他数据库、表、列、权限等的结构化信息。它是一个只读的虚拟数据库。
-
mysql - 这是MySQL的系统数据库,存储了用户账户、权限、插件、事件调度器等信息。非常重要,不要随意修改。
-
performance_schema - 提供服务器性能诊断功能,收集数据库服务器性能参数。用于监控MySQL服务器在运行时的各种性能指标。
-
stock - 这看起来是一个用户的自定义数据库
-
sys - MySQL 5.7及更高版本引入的系统数据库,提供了简化的视图和函数,用于分析和诊断数据库性能问题,主要基于performance_schema的数据。
更多推荐



所有评论(0)