我可以在 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)