Ошибка 256 при запуске «brew Services httpd» в macOS Sonoma (14.0): причины и решения

Устранение проблем с Apache и MySQL на macOS через Homebrew

Если вы используете macOS и управляете веб-сервером Apache и службой базы данных MySQL через Homebrew, то возможно, что вы столкнетесь с ошибками в процессе работы. В этой статье мы рассмотрим типичные проблемы, связанные с запуском Apache и MySQL, а также предложим эффективные решения.

Проблемы с Apache

Недавно я столкнулся с ошибкой при запуске Apache, когда команда brew services list отображала статус error 256:

Name             Status     User File
httpd            error  256 root ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist

Несмотря на успешные сообщения при перезапуске службы:

==> Successfully started httpd (label: homebrew.mxcl.httpd)

Проблема оставалась нерешенной. Попробуем разобраться с этой ситуацией.

Решение для Apache

  1. Остановите службу Apache напрямую с помощью команды:

    sudo apachectl stop

    После этого команда brew services list все еще показывала ошибку 256.

  2. Перезапустите службу Apache через Homebrew:
    brew services restart httpd

Если после выполнения этих шагов проблема все еще не решена, возможно, стоит проверить другие аспекты конфигурации сервера.

Ошибки MySQL

Заодно я обнаружил проблему и с MySQL: команда brew services start mysql также вернула ошибку:

Bootstrap failed: 5: Input/output error

Логи в директории /opt/homebrew/var/mysql/ показывали сообщение:

Invalid MySQL server upgrade: Cannot upgrade from 80300 to 90001

Это указывает на необходимость обновления MySQL.

Решение для MySQL

  1. Получите информацию о MySQL с помощью команды:

    brew info mysql

    В выводе будет указано решение проблемы.

  2. Следуйте инструкциям из Caveats:

    ==> Caveats
    Upgrading from MySQL <8.4 to MySQL >9.0 requires running MySQL 8.4 first:
    - brew services stop mysql
    - brew install [email protected]
    - brew services start [email protected]
    - brew services stop [email protected]
    - brew services start mysql
  3. Убедитесь, что MySQL запущен:
    brew services list

    Вы должны увидеть статус started для MySQL.

Изменение аутентификации пользователей базы данных

После обновления MySQL я столкнулся с проблемой аутентификации. Плагин mysql_native_password был удален, и PHPMyAdmin выдавал ошибку:

#1524 - Plugin 'mysql_native_password' is not loaded

Это можно исправить следующим образом:

  1. Запустите MySQL CLI:

    mysql -uroot -p
  2. Перечислите всех пользователей, использующих плагин mysql_native_password:

    SELECT user, host, plugin from mysql.user WHERE plugin='mysql_native_password';
  3. Обновите пользователя до caching_sha2_password:

    ALTER USER 'dbu246810'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'my5ecretP4ssw0rd';
  4. Предоставьте пользователю все привилегии:

    GRANT ALL PRIVILEGES ON dbs246810.* TO 'dbu246810'@'localhost';
  5. Примените изменения:

    FLUSH PRIVILEGES;
  6. Выход из MySQL:
    exit;

Теперь вы сможете без проблем подключаться к вашим базам данных.

Заключение

Работа с Apache и MySQL через Homebrew на macOS может быть не всегда простой, но следуя приведенным решениям, вы сможете быстро устранить распространенные проблемы. Не забывайте делать резервные копии своих данных перед выполнением обновлений и изменений в конфигурации, чтобы избежать потери информации.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *