Устранение проблем с 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
-
Остановите службу Apache напрямую с помощью команды:
sudo apachectl stop
После этого команда
brew services list
все еще показывала ошибку 256. - Перезапустите службу 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
-
Получите информацию о MySQL с помощью команды:
brew info mysql
В выводе будет указано решение проблемы.
-
Следуйте инструкциям из
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
- Убедитесь, что MySQL запущен:
brew services list
Вы должны увидеть статус
started
для MySQL.
Изменение аутентификации пользователей базы данных
После обновления MySQL я столкнулся с проблемой аутентификации. Плагин mysql_native_password
был удален, и PHPMyAdmin выдавал ошибку:
#1524 - Plugin 'mysql_native_password' is not loaded
Это можно исправить следующим образом:
-
Запустите MySQL CLI:
mysql -uroot -p
-
Перечислите всех пользователей, использующих плагин
mysql_native_password
:SELECT user, host, plugin from mysql.user WHERE plugin='mysql_native_password';
-
Обновите пользователя до
caching_sha2_password
:ALTER USER 'dbu246810'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'my5ecretP4ssw0rd';
-
Предоставьте пользователю все привилегии:
GRANT ALL PRIVILEGES ON dbs246810.* TO 'dbu246810'@'localhost';
-
Примените изменения:
FLUSH PRIVILEGES;
- Выход из MySQL:
exit;
Теперь вы сможете без проблем подключаться к вашим базам данных.
Заключение
Работа с Apache и MySQL через Homebrew на macOS может быть не всегда простой, но следуя приведенным решениям, вы сможете быстро устранить распространенные проблемы. Не забывайте делать резервные копии своих данных перед выполнением обновлений и изменений в конфигурации, чтобы избежать потери информации.