[(pyEnv) Anants-MacBook-Pro:litibackend anantchandra$ brew postinstall mysql
==> Postinstalling mysql
==> /usr/local/Cellar/mysql/8.0.11/bin/mysqld --initialize-insecure --user=anantchandra --basedir=/usr/local/Cellar/mysql/8.0.11 --datadir=/usr/local/var/mysql --tmpdir=/tmp
Last 15 lines from /Users/anantchandra/Library/Logs/Homebrew/mysql/post_install.01.mysqld:
2018-06-15 04:41:04 -0700
/usr/local/Cellar/mysql/8.0.11/bin/mysqld
--initialize-insecure
--user=anantchandra
--basedir=/usr/local/Cellar/mysql/8.0.11
--datadir=/usr/local/var/mysql
--tmpdir=/tmp
2018-06-15T11:41:04.901191Z 0 [System] [MY-013169] [Server] /usr/local/Cellar/mysql/8.0.11/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 37841
2018-06-15T11:41:04.903504Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2018-06-15T11:41:04.903537Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-15T11:41:04.903701Z 0 [System] [MY-010910] [Server] /usr/local/Cellar/mysql/8.0.11/bin/mysqld: Shutdown complete (mysqld 8.0.11) Homebrew.
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall mysql`
4条答案
按热度按时间piwo6bdm1#
安装或重新安装,
brew install mysql
,创建了默认数据目录,安装后不处理它。。。只需移动现有的数据目录(这会将其移动到同级目录,用shell的进程id命名):
或者可能需要超级用户权限。。。
然后运行:
aydmsdu92#
根据此链接,下面的命令将我保存在macos mojave上:
dluptydi3#
如果有人想:
在那之后,我回到了5.7版本,所有的数据库都完好无损。在我的例子中,我知道数据库中的数据并不重要,所以我没有尝试提前备份数据。对我来说很好。如果您的本地数据库中有不可替代的数据,您可能需要小心处理。我没有丢失数据,但我也不希望其他人根据我的建议丢失数据
通常情况下,我并不介意mysql升级,但8.0看起来有兼容性问题,我想在继续之前检查一下,同时,我宁愿回到一个不强迫我处理这些问题的版本上。
enyaitl34#
首先,备份数据目录的内容:
/usr/local/var/mysql
把它复制到一个安全的地方。发生此错误的原因是安装后脚本检查文件
/usr/local/var/mysql/mysql/user.frm
存在。不管什么原因你都没有这个文件。postinstall脚本然后尝试通过运行mysqld
与--initialize-insecure
但是由于目录中已经包含了MySQL5.7中的一些数据,所以脚本暂停。下面是脚本的对应部分
mysql.rb
:有几种可能的解决办法。如果您仍然可以运行mysql 5.7数据库,请使用mysqldump导出所有内容,然后通过删除其中的所有内容来安装新的mysql 8数据库
/usr/local/var/mysql
然后再次导入所有内容。另一个解决方案是使用mysql\u升级工具。p、 s:就我个人而言,我使用这个公式mysql@5.7 将来我会转投mariadb。