Homebrew,MySQL 8支持

Pet*_*e_1 17 mysql

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

Mic*_*ase 37

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:50 CDT:

三步解决方案:

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

    default-authentication-plugin=mysql_native_password
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在shell提示符下:

    mysql -u root -p
    
    > ALTER USER 'root'@'localhost'
       IDENTIFIED WITH mysql_native_password
       BY '[password]';
    
    > exit
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启服务器

    brew services restart mysql
    
    Run Code Online (Sandbox Code Playgroud)

短版解决方案

长版解决方案

2018年6月18日更新时间晚上11:53 CDT:

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

  • 我有幸能够使用`brew remove mysql`和'brew install mysql @ 5.7`回滚并保持我的所有数据库完好无损. (11认同)
  • brew升级到5.7后完全疯狂推出8.0. (6认同)
  • 因为在升级之前没有备份数据库,8.0不能降级到5.7.此外,更新没有检查我的数据库/表是否可以在8.0下运行.正如8.0升级方案中所建议的那样https://dev.mysql.com/doc/refman/8.0/en/upgrading-strategies.html`mysqlcheck -u root -p --all-databases --check-upgrade` brew可以很容易地看到我的db在升级之前无法在8.0上运行. (2认同)