首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装后的步骤没有成功地完成MySQL Mac操作系统塞拉利昂。

问安装后的步骤没有成功地完成MySQL Mac操作系统塞拉利昂。
EN

Stack Overflow用户
提问于 2018-06-15 11:44:04
回答 4查看 14.6K关注 0票数 11
代码语言:javascript
复制
[(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`
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-25 20:15:15

对于任何想要这样做的人,我可以回到5.7:

代码语言:javascript
复制
brew uninstall mysql
brew install mysql@5.7
brew link --force mysql@5.7
mysql.server start
mysql_secure_installation

在这之后,我回到了5.7版,我所有的数据库都完好无损。在我的例子中,我知道数据库中的数据并不重要,所以我没有尝试提前备份数据。对我来说很好。如果本地数据库中有不可替代的数据,则可能需要小心处理。我没有丢失数据,但我也不希望其他人丢失我的建议中的数据。;)

通常情况下,我不介意MySQL升级,但是8.0看起来有兼容性问题,我想在继续之前检查一下,同时,我宁愿回到一个不强迫我去处理这些问题的版本上。

票数 10
EN

Stack Overflow用户

发布于 2018-06-23 12:43:32

首先,通过将数据目录复制到安全的位置,备份数据目录的内容:/usr/local/var/mysql。

发生此错误的原因是安装后脚本检查文件/usr/local/var/mysql/mysql/user.frm是否存在。不管是什么原因你都没有这份文件。postinstall脚本然后尝试通过使用MySQL运行mysqld来安装一个新的--initialize-insecure 8数据库,但是由于目录中已经包含了MySQL 5.7中的一些数据,脚本将停止运行。

下面是mysql.rb中脚本的相关部分

代码语言:javascript
复制
  def post_install
    # Make sure the datadir exists
    datadir.mkpath
    unless (datadir/"mysql/user.frm").exist?
      ENV["TMPDIR"] = nil
      system bin/"mysqld", "--initialize-insecure", "--user=#{ENV["USER"]}",
        "--basedir=#{prefix}", "--datadir=#{datadir}", "--tmpdir=/tmp"
    end
  end

有几种可能的解决办法。如果您仍然可以运行您的MySQL 5.7数据库,那么使用米斯德导出所有内容,然后通过删除/usr/local/var/mysql中的所有内容安装一个新的MySQL 8数据库,然后再次导入所有内容。另一个解决方案是使用升级工具。

P.S.:就我个人而言,我使用公式mysql@5.7,以后我将改用MariaDB。

票数 5
EN

Stack Overflow用户

发布于 2018-06-20 23:31:49

安装或重新安装brew install mysql创建了默认的数据目录,而post安装不处理它.

  1. 只需移动现有的数据目录(这会将其移动到一个同级目录,该目录使用shell的进程id命名): $ mv /usr/local/var/mysql /usr/local/var/mysql-$ 或者可能需要超级用户特权..。 $ sudo mv /usr/local/var/mysql /usr/local/var/mysql-$
  2. 然后跑: $ brew后安装mysql
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50874931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档