使用 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 服务器时,ibdata1、ib_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 同步的主要内容,如果未能解决你的问题,请参考以下文章