Homebrew, поддержка MySQL 8

Кто-нибудь знает, когда Homebrew будет обновлен для поддержки первого общего выпуска MySQL 8 (8.0.11)? Кажется, я не могу найти его с помощью поиска, но держу пари, что кто-то знает :)

++ следующее ...

Buglinjo 14.05.2018 16:37
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
24
1
21 423
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Он ждет, пока его не объединят в homebrew-core.

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

Ответ принят как подходящий

Компания Homebrew выпустила MySQL 8.0.11 в качестве обновления вчера (среда, 13 июня 2018 г.). Я думал, что его приколол, но не тут-то было.

Это полная катастрофа:

MySQL 8.0.11 использует caching_sha2_password в качестве метода аутентификации по умолчанию (оставьте Oracle делать что-то подобное в точечном выпуске, но вот оно и есть).

Пока что он ломает все, что я пробовал: phpMyAdmin, Nextcloud и WordPress.

Я вернусь к 5.7.22 позже сегодня.

Обновление 17 июня 2018 г., 18:50 CDT:

Трехэтапное решение:

  1. Добавьте в раздел [mysqld] файла my.cnf (находится в /usr/local/etc/ для установки Homebrew):

    default-authentication-plugin=mysql_native_password
    
  2. В приглашении оболочки:

    mysql -u root -p
    
    > ALTER USER 'root'@'localhost'
       IDENTIFIED WITH mysql_native_password
       BY '[password]';
    
    > exit
    
  3. Перезагрузить сервер

    brew services restart mysql
    

Краткая версия решения

Решение длинной версии

Обновление 18 июня 2018 г., 23:53 CDT:

Приведенное выше решение в лучшем случае является частичным. По моему опыту, MySQL 8.0.11 еще не готов к использованию в производстве (или даже в разработке).

Полное безумие, что brew выпустила 8.0 как обновление до 5.7.

seven 14.06.2018 13:55

поскольку версия 8.0 не может быть понижена до версии 5.7 без резервной копии базы данных перед обновлением. Кроме того, обновление не проверяло, может ли моя база данных / таблицы работать под 8.0. как было предложено в сценариях обновления 8.0 dev.mysql.com/doc/refman/8.0/en/upgrading-strategies.htmlmysqlcheck -u root -p --all-databases --check-upgrade, запустив это, brew может легко увидеть, что моя база данных не может работать на 8.0, до того, как он выполнил обновление.

seven 14.06.2018 14:13

Мне посчастливилось иметь возможность откатиться и сохранить все свои базы данных нетронутыми с помощью brew remove mysql и brew install [email protected].

Ortomala Lokni 14.06.2018 15:56

У меня не было никакой радости откатиться назад после обновления 8.x, но, к счастью, у меня была резервная копия /usr/local/var/mysql Time Machine, из которой я смог восстановить. После удаления MySQL 8 (brew remove mysql) и повторной установки 5.7 (brew install [email protected]), как указано выше, он снова работает.

BeesonBison 15.06.2018 16:34

Я весь день возился с этим после того, как все взорвалось, когда я обновил Brew. Я не хочу иметь ничего общего с MySQL 8, поэтому я запустил команду brew remove mysql, а затем brew install [email protected], которая вернула мне 5.7, но когда я пытаюсь войти в нее через командную строку с помощью mysql -uroot, я получите следующую ошибку. Это сводит с ума. Есть идеи о том, что здесь может происходить? ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Jacob Graf 16.06.2018 02:45

После установки [email protected] я не могу запустить клиент mysql. Похоже, что даже при установке старых версий двоичные файлы должны оставаться такими же.

cayblood 24.06.2018 01:58

@BeesonBison Не могли бы вы уточнить? У меня есть то, что, как я знал, было рабочим /usr/local/var/mysql в образе диска, предшествующем обновлению. Вы хотите сказать, что я могу удалить все, что связано с mysql, brew reinstall [email protected], а затем скопировать рабочий /usr/local/var/mysql из образа по тому же пути в моем работающем экземпляре. Я предполагаю, что mysql не может работать во время процесса копирования. Как насчет владения и разрешений как каталога mysql, так и его содержимого.

John D. 09.07.2018 06:07

@JohnD. да, это правильно, просто убедитесь, что вы остановили MySQL перед копированием с образа диска, а затем перезапустите его после этого. Это все, что я сделал. RE: владение, я думаю, это должен быть yourusername:admin, а chmod 755 должен подходить для разрешений. Я не эксперт в этом, так что кто-нибудь может посоветовать?

BeesonBison 09.07.2018 11:04

@BeesonBison Большое спасибо, очень! Это сработало отлично, и я смог успешно выгружать таблицы. Я полностью удалил все следы MySQL, как самодельные, так и некоторые существующие прямые установки. Я переименовал исходный каталог /usr/local/var/mysql в mysql-old, а затем сделал brew install [email protected]. После запуска и остановки службы я переименовал /usr/local/var/mysql в mysql-new, а затем переименовал старый в mysql. Запуск длился долго, но работал.

John D. 09.07.2018 22:15

Я перестроил все свои базы данных из дампов на предыдущей машине при настройке новой среды с 8.0.11, и откат не был плавным, когда базы данных были созданы с помощью 8.0.11. Пришлось их утилизировать, чтобы получилось 5,7 прокатки.

nJGL 03.10.2018 09:47

Просто хотел поблагодарить вас за это, я думал, что схожу с ума, пытаясь заставить это работать должным образом. В качестве еще одного возможного обходного пути, если это не сработает (не совсем уверен, почему, извините), я переключился на использование контейнера докеров для 5.7.24 и не имел проблем, но я бы никогда не поверил, что это то, что Homebrew сделал без ваш ответ здесь. Я перехожу на docker-контейнеры вместо brew, устанавливая вещи везде, где это возможно, в результате это совершенно смешно.

JimmyM 18.01.2019 12:27

Мне удалось преодолеть это, не удаляя всю мою базу данных, которая из mysql версии 5.7.

Во-первых, просто обновите базу данных с помощью этой команды

mysql_upgrade -u root

https://stackoverflow.com/a/51486493/2342289

Последний. Установите sequel-pro-nightly. Мне это нужно, потому что я могу просматривать свою базу данных с помощью команды, но не с помощью sequal-pro. Так что, к счастью, еженощное сиквел-про работает.

   brew cask install sequel-pro-nightly

Тогда бум. Все вернулось. Вздох.

  1. Удалил MySql, выполнив действия, описанные в этот сайт.
  2. Сделайте brew install [email protected].
  3. Перейдите к этот сайт и следуйте инструкциям, начиная с шага 4.
  4. Обязательно выясните, существуют ли пути на шаге 5 на вашем компьютере. Пути, указанные на этом сайте, мне не подошли. Пришлось искать их самостоятельно. Начните с поиска /usr/local и найдите оттуда папку mysql и копайте, пока не найдете файлы, которые он перечислил.

Я остановился на шаге 7, потому что смог взять его оттуда. Надеюсь, ты тоже сможешь.

Другие вопросы по теме