因此,我们有几个 Web 开发人员正在开发自己的项目,我们希望远程访问这些项目,但仍在本地工作(因此,服务器上使用 LAMP,每台计算机上使用 MAMP)。这样做的好处包括轻松远程工作且没有延迟,在发生任何事情时有本地备份(包括 Time Machine 修订),以及共享全部的项目,而不仅仅是文件。
我所做的是设置每个项目文件夹都有一个db
文件夹。然后/var/lib/mysql
我将每个数据库符号链接到指定的项目db
文件夹。此时,我不在乎它是否是 DBA 的“噩梦”,只要它对我们有效即可。我对“替代解决方案”不太感兴趣(我见过其中的大多数,而且从可用性的角度来看,它们中的大多数都很糟糕 - 虽然我没有研究过复制,但我相信我必须占用每个人的计算机,而且我不确定它是否会很好地工作)。
此时,我更加好奇为什么此页面上的说明不起作用。有人知道吗? http://dev.mysql.com/doc/refman/5.5/en/symbolic-links.HTML
它说我可以做我所做的事,只要我不尝试将两个不同的数据库符号链接到同一个数据库 - 我从未尝试过。这只是一个简单的符号链接。我检查了 have_symlink 并且是 YES。所有表都是 MyISAM。
lrwxrwxrwx 1 mysql mysql 28 2011-09-12 11:00 site_name1 -> /ude/repo/site-name1/db
lrwxrwxrwx 1 mysql mysql 21 2011-09-12 10:33 site_name2 -> /ude/repo/site-name2/db
lrwxrwxrwx 1 mysql mysql 21 2011-09-12 10:33 site_name3 -> /ude/repo/site-name3/db
我收到的错误是:
Fatal error: Allowed memory size of 276824064 bytes exhausted (tried to allocate 80 bytes)
另外,我无法反向进行符号链接,因为我用来同步项目的应用程序是 Unison,它足够智能,可以识别符号链接(这是一件好事)。这意味着需要db
包含合法的 MyISAM 文件。
有想法吗?