自制软件,MySQL 8 支持

Homebrew, MySQL 8 support

有人知道 Homebrew 何时更新以支持 MySQL 8 的第一个通用版本 (8.0.11) 吗?我似乎无法通过搜索找到它,但我敢打赌这里有人知道:)

它正在等待合并到 homebrew-core。

https://github.com/Homebrew/homebrew-core/pull/27210

Homebrew 昨天(2018 年 6 月 13 日,星期三)推送了 MySQL 8.0.11 作为升级。我以为我把它固定了,但没有这样的运气。

这是一场彻底的灾难:

MySQL 8.0.11 使用 caching_sha2_password 作为默认身份验证方法(让 Oracle 在小版本中做类似的事情,但你已经有了)。

到目前为止,它破坏了我尝试过的一切:phpMyAdmin、Nextcloud 和 WordPress。

今天晚些时候我将回滚到 5.7.22。

2018 年 6 月 17 日更新6:50PMCDT:

三步解决:

  1. 添加到 my.cnf 文件的 [mysqld] 部分(在 /usr/local/etc/ 中找到 Homebrew 安装):

    default-authentication-plugin=mysql_native_password
    
  2. 在 shell 提示:

    mysql -u root -p
    
    > ALTER USER 'root'@'localhost'
       IDENTIFIED WITH mysql_native_password
       BY '[password]';
    
    > exit
    
  3. 重启服务器

    brew services restart mysql
    

Short version solution

Long version solution

2018 年 6 月 18 日更新11:53PMCDT:

上面提供的解决方案充其量只是部分解决方案。根据我的经验 MySQL 8.0.11 还没有准备好用于生产(甚至开发)。

我设法克服了这个问题,而没有从 mysql 5.7 版中删除我的所有数据库。

首先,简单地用这个命令升级数据库

mysql_upgrade -u root

最后。每晚安装 sequel-pro-。我需要这个,因为我可以从命令而不是从 sequal-pro 浏览我的数据库。所以,幸运的是夜间 sequel-pro 工作。

   brew cask install sequel-pro-nightly

然后,繁荣。一切都回来了。唉。

  1. 使用 this site 上的步骤删除了 MySql。
  2. brew install mysql@5.7.
  3. 转到 this site 并按照从第 4 步开始的说明进行操作。
  4. 一定要查明步骤 5 中的路径是否确实存在于您的计算机上。该网站上列出的路径对我不起作用。我必须自己找到它们。首先查看 /usr/local 并从那里搜索 mysql 文件夹并挖掘直到找到他列出的文件。

我在第 7 步停了下来,因为我可以从那里开始。希望你也可以。