MAMP Pro and MySQL having Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root

MAMP Pro and MySQL having Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root

更新到 macOS Catalina 后,我无法 运行 MySQL 使用 MAMP Pro。 我得到一个错误。来自mysql_error.log

2019-10-09T10:53:16.6NZ mysqld_safe Logging to '/Applications/MAMP/logs/mysql_error.log'.
2019-10-09T10:53:16.6NZ mysqld_safe Starting mysqld daemon with databases from /Library/Application Support/appsolute/MAMP PRO/db/mysql57
2019-10-09T10:53:16.917470Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2019-10-09T10:53:16.919285Z 0 [Note] /Applications/MAMP/Library/bin/mysqld (mysqld 5.7.26) starting as process 3320 ...
2019-10-09T10:53:16.932570Z 0 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql57/ is case insensitive
2019-10-09T10:53:16.932669Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2019-10-09T10:53:16.932697Z 0 [ERROR] Aborting

2019-10-09T10:53:16.932751Z 0 [Note] Binlog end
2019-10-09T10:53:16.935298Z 0 [Note] /Applications/MAMP/Library/bin/mysqld: Shutdown complete

2019-10-09T10:53:16.6NZ mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended

我在网上搜索,已经试了很多了,但是我找不到运行宁。

有谁遇到过同样的问题,可以提供帮助吗?

提前致谢!

我有一个临时修复程序,直到开发人员发布修复程序。我正在使用 MAMP Pro;我不知道非专业版的界面是否相同。临时修复:

打开 MAMP Pro。如果服务器 运行,则停止服务器。从菜单中打开 MySQL 模板:文件 > 编辑模板 > MySQL (mysql.cnf) > 5.7.26

  1. 向下滚动或找到 [client]。在 [client] 下添加以下行: 用户=根

  2. 向下滚动或找到 [mysqld]。在 [mysqld] 下添加以下行: 用户=根

  3. 启动服务器。

这对我有用。希望对你有帮助。

Les Brown 的回答对我很有帮助。我有一个可能适用于你和其他人的补充。

如果 MAMP (PRO) 正在访问文档或 iCloud Drive 中的任何目录,Catalina 要求用户批准 MAMP and/or MYSQL 对该目录的访问。

例如,在我的一个 MAMP PRO 服务器上,我 运行 一个从网站下载 csv 文件的 ETL(使用 cron),然后将每个下载的 csv 中的数据加载到指定的 MySQL我的测试数据库中的表。但是,该脚本无法运行,因为 MySQL 无权访问从 Documents 目录下载的 csv 文件。我不得不从命令行手动 运行 我的 ETL 脚本。那时,弹出一个 MacOS 模式,指示我授予 MySQL 访问文档的权限。一旦我授予该权限,ETL 脚本就开始工作了。

我在 Mac 上安装 Catalina 后遇到了同样的问题。首先,我尝试了 Les Brown 的解决方案。没有完全适合我。我收到另一个错误:

[Note] Access denied for user 'root'@'localhost' (using password: NO) 

经过一番阅读后,我在 youtube (https://www.youtube.com/watch?v=LKE1G4sinBM) 上看到了一个视频,您可以在 部分添加关键字 skip-grant-tables MAMP-PRO 的 MySql 模板的 mysqld。这让 mysql 工作,但不是永远在模板文件中的最佳想法。如果您尝试添加该行,请不要忘记也将其删除!

最后但同样重要的是,我得到了 MAMP-Pro 支持的提示,可以对 mysql.stock 进行符号化 link。所以我在终端执行('$'是终端的提示符)。

$ sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
Password:...
$

现在一切正常。