我可以在 xampp 和 mamp (mac amp) 之间共享同一个 mysql 数据库吗?

Posted

技术标签:

【中文标题】我可以在 xampp 和 mamp (mac amp) 之间共享同一个 mysql 数据库吗?【英文标题】:can i share the same mysql db between xampp and mamp (mac amp)? 【发布时间】:2012-05-16 17:43:54 【问题描述】:

我正在用 xampp 和 mamp 做一些测试(在 macos x 雪豹上),有时我在它们之间切换只是为了玩耍,每个人在不同的位置都有自己的数据库:

xampp in /Applications/XAMPP/xamppfiles/var/mysql/ 
mamp in /Applications/MAMP/db/mysql/

我不想处理 2 个单独的 mysql db 数据,我只想拥有一个,所以我可以将它共享给 xampp 和 mamp(不是同时)。我可以更新我的数据库而不必担心更新另一个数据库。这种实现是可能的吗?有谁知道如何在没有任何冲突的情况下做到这一点?

我使用的是mac(所以它是mamp),但这也可以在其他系统上实现。

谢谢

【问题讨论】:

【参考方案1】:

我认为应该可以。试试下面的技巧。

您可以启动 XAMPP。现在您的 XAMPP 的 Apache 和 php 将与 XAMPP 的 mysql 一起使用。

您可以启动 XAMPP 然后停止 XAMPP 的 Apache 和 PHP 服务。然后启动 MAMP。停止 MAMP 的 mysql 服务。现在你的 Apache 和 MAMP 的 PHP 将与 XAMPP 的 mysql 一起工作。

【讨论】:

Thanx,但他们仍在使用不同的数据库文件。新创建的数据库/表仅在其中一个中可见。更改数据库只发生在其中之一上。数据库文件不同,就像我上面写的那样,它们是存储 db 文件的文件夹。解决方案是将 db 文件移动到 mysql(xampp 和 mamp) 都指向的新共享位置。还需要更改一些配置文件,这些文件存储有关数据库文件/数据存储位置的信息,然后对其进行修改,使其可以指向新位置。【参考方案2】:

我在 Linux 上做过类似的事情。我需要运行两个不同版本的 PHP,但使用一个 MySQL 数据库。我在 Linux 中正常安装了 Apache/PHP,还安装了 XAMPP 以运行不同版本的 Apache/PHP。

您的设置类似,因此以下设置应该可以工作,以便 MAMP 和 XAMPP 都使用 MAMP MySQL 数据库。

我更改了 XAMPP 中的 PHP 配置以使用我的主 MySQL 数据库。像这样:

在 XAMPP 中找到 php.ini 文件(我的是在 XAMPP 的 etc/ 文件夹中)。

在您选择的文本编辑器中打开文件并找到它用于 MySQL 的默认套接字。

更改此项以使用套接字 由 MAMP 提供。

 mysql.default_socket = /path/to/mamp/mysqld/mysqld.sock

保存文件并在 XAMPP 中重新启动 Apache。

不再需要在 XAMPP 中启动 MySQL,因为 PHP 应该使用来自 MAMP 的套接字连接。

XAMPP 现在应该使用 MAMP 中的数据库。

应该工作:)

【讨论】:

就我而言,情况正好相反。我需要 xampp,因为我想使用较旧的 mysql 版本(5.1)运行我的网站。我试图从 MAMP 更改 php.ini,mysql.default_socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock。但它仍然是指在 MAMP 中创建的数据库。

以上是关于我可以在 xampp 和 mamp (mac amp) 之间共享同一个 mysql 数据库吗?的主要内容,如果未能解决你的问题,请参考以下文章

更新到 mac High Sierra 10.13.2 后 MySQL 服务器不会在 MAMP/AMPPS/XAMPP 上启动

MAC OS X PHP 开发。 XAMPP vs MAMP vs Entropy.ch(Marc Liyanage)

为 xampp 安装 homebrew mac os x

如何在带有 XAMPP 的 Mac 上使用 PHP 运行 ffmpeg

从 MAMP 开发环境到 XAMPP

如何在 MAMP 安装上从终端运行 mysql 命令?