MySQL中的实例、数据库关系简介

简单来说,MySQL实例实际上是数据库操作背后的主进程。
其实很简单。
它包含线程和内存,就像数据库操作的“大脑”。
我们去年跑的项目数据量在3 000条左右。
多实例创建主要是通过安装不同端口号的MySQL服务或者使用工作台创建新的服务器实例来完成。

首先,最重要的是配置文件对于实例化启动很重要。
另一个问题是,如果找不到配置文件,MySQL将开始使用默认参数设置,这可能会导致性能问题。
还有一个更重要的细节。
一个实例可以操作一个或多个数据库。
在集群的情况下,多个实例可以操作一个或多个数据库。

我一开始以为实例和数据库是一对一的关系,后来发现这是错误的。
事实上,实例和数据库之间也存在类似的关系。
会话建立与实例的连接,而不是直接与特定数据库的连接。
等等,还有一件事。
连接和会话是两个不同的概念。
连接是物理概念,会话是逻辑概念,存在于实例中。

总之,正确配置MySQL实例,保证其能够高效地操作数据库,是数据库管理的关键。
很多人没有注意到这一点,但我认为值得尝试。

数据库实例如何理解呢

哦,让我告诉你一件事。
去年我在北京做那个项目,接触到了Oracle数据库。
当我看到这个文档时,我很困惑。
比如,说白了,就是后台进程和共享内存的集合,对吧?这些进程仅在一台计算机上运行,​​共享此内存。
有些存储在内存中的东西是临时的,可以移动到磁盘上,有些甚至可以在没有硬盘的情况下存在。
想想看,这个例子可以在没有磁盘的情况下工作。
是不是很神奇呢?有没有用,我不敢说。
无论如何,当时它让我参与其中。

后来想了想,觉得能够和数据库区分开来,是一件非常令人惊讶的事情。
场景和数据库之间的关系很有趣。
一个数据库可以加载到多个实例上,也可以同时加载多个实例。
不过话说回来,比如整个活动过程中,最多只有一个数据库处于活动状态!一般来说,一个数据库配一个实例,是没有什么问题的。
但如果你有集群RAC那就不一样了。
多个实例共享一个数据库文件并同时使用。
我去年在北京的项目是RAC。
有几个非常具有挑战性的例子。

所以你看,场景和数据库的关系真的很复杂。
反正当时就明白了,也是费了不少功夫的。