使用 MAMP Pro 3 将 mysql 数据库与 Dropbox 同步

Posted

技术标签:

【中文标题】使用 MAMP Pro 3 将 mysql 数据库与 Dropbox 同步【英文标题】:Sync mysql databases with Dropbox with MAMP Pro 3 【发布时间】:2014-04-27 12:27:34 【问题描述】:

将我的 MAMP (Pro) 安装从 2.2 更新到 3.0.2 后,我的 Dropbox mysql 数据库同步工作出现问题。

我已经使用以下设置退出了一段时间,并且在我更新之前它运行良好:

工作电脑: 运行 MacOS 10.8.5 的 Mac Pro G5 使用用户名A 正常安装 MAMP 和 MAMP Pro 用户根目录中的 Dropbox 文件夹:/Users/UsernameA/Dropbox,带有指向第二个分区的符号链接:/Volumes/Diskname/Dropbox 到 Dropbox 的符号链接来自:

/Applications/MAMP/htdocs 
/Applications/MAMP/db/mysql  
/Library/Application Support/appsolute/MAMP PRO/db/mysql

家用电脑: Mac Mini 运行 MacOS 10.9.2 使用用户名B 正常安装 MAMP 和 MAMP Pro 用户根目录下的 Dropbox 文件夹:/Users/UsernameB/Dropbox 到 Dropbox 的符号链接来自:

/Applications/MAMP/htdocs  
/Applications/MAMP/db/mysql  
/Library/Application Support/appsolute/MAMP PRO/db/mysql

两台计算机上的 MAMP Pro 设置

Default Apache port for http connections: 80  
Default Apache port for https connections (SSL): 443  
MySQL port: 3306  
Run Apache/MySQL server as user: www (Apache) / mysql (MySQL)  
MySQL Password user root: notroot

在我的工作计算机上一切正常,Apache 和 MySQL 服务器都正常启动。 但是,当我尝试在家中启动 MAMP Pro 时,我不断收到 MYSQL 无法启动错误。在 MAMP 中,MySQL 服务器也不会启动。 这是在我的 mysql_error.log 中:

140320 11:09:14 mysqld_safe Starting mysqld daemon with databases from /Library/Application Support/appsolute/MAMP PRO/db/mysql
140320 11:09:14 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
140320 11:09:14 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql/ is case insensitive
140320 11:09:14 [Note] Plugin 'FEDERATED' is disabled.
/Applications/MAMP/Library/bin/mysqld: Table 'plugin' is read only
140320 11:09:14 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
140320 11:09:14 InnoDB: The InnoDB memory heap is disabled
140320 11:09:14 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140320 11:09:14 InnoDB: Compressed tables use zlib 1.2.3
140320 11:09:14 InnoDB: Initializing buffer pool, size = 128.0M
140320 11:09:15 InnoDB: Completed initialization of buffer pool
140320 11:09:15 InnoDB: highest supported file format is Barracuda.
140320 11:09:15 InnoDB: Waiting for the background threads to start
140320 11:09:16 InnoDB: 5.5.34 started; log sequence number 100221878
140320 11:09:16 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'host' is read only
140320 11:09:16 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended

我确定它与 /Library/Application Support/appsolute/MAMP PRO/db/mysql 文件夹有关,因为当我删除符号链接并使用默认安装的 mysql 文件夹时在我的家用电脑上,MySQL 服务器正常启动。 我什么都试过了:

    完全删除并重新安装了 MAMP 和 MAMP Pro 检查是否有任何其他 mysql 服务器在 Activity Monitor 中运行 在磁盘实用程序中验证和修复磁盘权限 导出了我所有的数据库,并将它们导入到全新的 MAMP 安装中并使用它 mysql 文件夹作为新的同步文件夹

但没有任何帮助! 我在某处读到 Dropbox 的路径在两台计算机上必须完全相同,但在更新之前这样可以正常工作吗? 也有人提到两台计算机上的用户名必须相同,但在更新之前也可以正常工作?

您知道是什么原因造成的吗? 谢谢!

【问题讨论】:

有不同类型的符号链接/别名。你是如何创建符号链接的? 我用 SymbolicLinker 创建了符号链接:macupdate.com/app/mac/10433/symboliclinker 对其进行了测试。 “应用程序”应该没问题。作为测试,您是否尝试在终端中创建它们? ln -s ? 我很肯定它与符号链接无关,因为当我尝试启动 MySQL 服务器时,ibdata1ib_logfile0 mysql 文件夹中的 & ib_logfile1 被修改。所以符号链接本身可以工作! 到目前为止运气好吗?我也有类似的情况。 【参考方案1】:

我在安装新的 Xampp 时遇到了类似的问题,我试图在 my.ini 中更改这些行:

datadir="C:/xampp/mysql/data"
innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_log_group_home_dir = "C:/xampp/mysql/data"

进入:

datadir="D:/Dropbox/web-data"
innodb_data_home_dir = "D:/Dropbox/web-data"
innodb_log_group_home_dir = "D:/Dropbox/web-data"

您需要将 data 文件夹内的所有初始内容复制到新的 web-data 文件夹中。您可以与您的安装进行比较,希望它会起作用。

【讨论】:

以上是关于使用 MAMP Pro 3 将 mysql 数据库与 Dropbox 同步的主要内容,如果未能解决你的问题,请参考以下文章

MAMP Pro 中有多个 MySQL 版本?

加载 MAMP PRO 起始页 / MAMP 起始页

MAMP PRO mysql无法启动

MAMP Pro MySQL 无法启动

MAMP Pro 错误:无法写入 MySQL 配置文件 my.cnf

将 MAMP Pro 转移到具有新用户名的新 Mac