mysql - phpmyadmin:不同数据库中的 pma__ 表
问题描述
我们在与 CentOs7 相同的(虚拟)网络服务器上拥有我们的测试网络服务器和主网络服务器。由于几个原因,将它们都放在那儿对我们(小公司)来说非常方便。
我们在同一台服务器上也有测试数据库和主数据库,这也很方便,原因有几个。
我们首先通过 directadmin/phpmyadmin 创建了主数据库,之后才创建了测试数据库。我们为 phpmyadmin 使用两种不同的登录名:一种只访问主数据库。为了访问测试数据库和主数据库以及系统数据库,我们现在使用 root 登录,方便维护所有数据库(测试和主数据库等)。
我们有时会同步两个数据库(主要是从 main 到 test 的数据以便能够使用最新数据进行测试,以及在测试代码和 db 之后从 test 到 main 的结构)。我们想要复制的部分结构是一些 phpmyadmin 的好东西,比如带有外键的弹出窗口。phpmyadmin 为此使用一组 pma__xxx 表,例如pma__table_info
.
问题是:我们现在在两个数据库中都有这组表,包括测试数据库和主数据库。
在这些表中,我们总能找到两个数据库的记录。例如,在测试服务器上,可能有pma__table_info.db_name
设置到主服务器的记录,也有设置到测试服务器的记录。在主服务器中也是如此。然而,表格的内容却完全不同。而且我注意到,如果两个pma__table_info
表中都有记录,则系统不一定会pma__table_info
从该表所在的服务器获取 -info。
我不明白(也不是在谷歌之后查看https://docs.phpmyadmin.net/en/latest/config.html):
- 为什么 pma__ 表集没有单独的数据库?为什么它在我们的数据库中?
- 为什么我们的每个数据库上都有两组 pma__ 表?这仅仅是因为我们制作了一个数据库副本吗?但是为什么 phpmyadmin 然后实际上然后使用副本中的记录而不是原始记录?为什么两个数据库上的表如此不同?
- 所以似乎两个数据库上的 pma 表都用于两个数据库。我如何知道何时使用哪组表?这是否取决于我们使用的 phpmyadmin 登录?
- 我们是否应该将 pma__ 表合并到一个单独的数据库中,并通过配置告诉 phpmyadmin 使用这个单独的数据库?如果我们使用只能访问主数据库的登录名登录,那会起作用吗?
谷歌搜索没有给出基本答案,只有技术内容,但我需要先了解上述基本内容,然后才能弄清楚技术内容。
也非常欢迎提供指向基本 pma__ 表信息(技术配置信息除外)的链接。
太感谢了!
解决方案
所以我似乎最终自己找到了答案。如果我哪里错了,请纠正。
- 因为phpmyadmin被正常配置为使用当前db。这样当您只有一个数据库时它会顺利进行。当您无权访问配置文件时很方便。
- 看上面。afaik,phpmyadmin 将使用您在启动 phpmyadmin 后打开的第一个数据库,并且即使在您切换后仍将继续使用此数据库中的表。
- 见 2。
- 确实。为 pma 创建一个用户和数据库,用它们调整配置文件,你就可以开始了。
推荐阅读
- amazon-web-services - 在 AWS Cloudwatch 中显示 EC2 实例计数
- python - 有什么方法可以在使用 python panda 时显示特定的单元格值以及标题和列值
- reactjs - 如何开发具有更高试用版应用程序的库
- ocaml - 如何在 OCAML 中编写一个函数,它返回一个列表,其中第二个列表插入到第一个列表中
- vba - 如何在 VBA Web 爬网时运行“attachedfunction”属性
- url - 在url中完全隐藏文件的文件名
- qt - gnuplot:为什么 gnuplot_qt 在某些 PC 上无法启动?
- python - 确定我可以从 Python 生成的最大进程数?
- android - Android - 有一个动画集
- angular - 使用基类在 Angular 7 中设置页面标题