Вопрос или проблема
Mariadb не удается запустить на моем Mac (Sonoma 14.7), поэтому я удалил его (brew remove mariadb
). Я перезагрузил Mac, затем снова попытался установить его:
Последний вход: Пн Сентябрь 30 08:53:39 на консоли
tim@tims-air ~ % brew services list
Название Статус Пользователь Файл
dnsmasq нет root
httpd запущен tim ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist
mailhog запущен tim ~/Library/LaunchAgents/homebrew.mxcl.mailhog.plist
[email protected] нет
unbound нет
tim@tims-air ~ % brew install mariadb
==> Загружается https://formulae.brew.sh/api/formula.jws.json
######################################################################### 100.0%
==> Загружается https://formulae.brew.sh/api/cask.jws.json
==> Загружается https://ghcr.io/v2/homebrew/core/mariadb/manifests/11.5.2
Уже загружено: /Users/tim/Library/Caches/Homebrew/downloads/23a7a03af0bdc5b346302665c09d2a720bfa0f7fa5994f6e8b7adc39acef0daf--mariadb-11.5.2.bottle_manifest.json
==> Получение mariadb
==> Загружается https://ghcr.io/v2/homebrew/core/mariadb/blobs/sha256:cda6f1a325
Уже загружено: /Users/tim/Library/Caches/Homebrew/downloads/faa8e0e68585237ac84af30b0e4f4331c0e65c469b990593c9fdd2c12e7f5a79--mariadb--11.5.2.arm64_sonoma.bottle.tar.gz
==> Распаковка mariadb--11.5.2.arm64_sonoma.bottle.tar.gz
==> Предупреждения
Файл "/etc/my.cnf" от другой установки может помешать правильному запуску сервера, собранного Homebrew.
MySQL по умолчанию настроен так, чтобы разрешать соединения только с localhost.
Чтобы запустить mariadb сейчас и автоматически перезапустить при входе:
brew services start mariadb
Или, если вы не хотите/не нуждаетесь в фоновом сервисе, вы можете просто запустить:
/opt/homebrew/opt/mariadb/bin/mariadbd-safe --datadir\=/opt/homebrew/var/mysql
==> Сводка
🍺 /opt/homebrew/Cellar/mariadb/11.5.2: 948 файлов, 212.9 МБ
==> Выполнение `brew cleanup mariadb`...
Отключите это поведение, установив HOMEBREW_NO_INSTALL_CLEANUP.
Скрыть эти подсказки с помощью HOMEBREW_NO_ENV_HINTS (см. `man brew`).
tim@tims-air ~ % brew services start mariadb
==> Успешно запущен `mariadb` (ярлык: homebrew.mxcl.mariadb)
tim@tims-air ~ % brew services list
Название Статус Пользователь Файл
dnsmasq нет root
httpd запущен tim ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist
mailhog запущен tim ~/Library/LaunchAgents/homebrew.mxcl.mailhog.plist
mariadb остановлен root ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
[email protected] нет
unbound нет
tim@tims-air ~ %
Mariadb не запускается и пытается использовать ‘root’ в качестве пользователя, в то время как если я посмотрю на другой машине, он отображает его под моим именем пользователя:
httpd остановлен tim ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist
mailhog запущен tim ~/Library/LaunchAgents/homebrew.mxcl.mailhog.plist
[email protected] запущен tim ~/Library/LaunchAgents/[email protected]
Как заставить его устанавливать и использовать мою учетную запись, а не ‘root’?
Ответ или решение
Чтобы решить проблему с установкой и запуском MariaDB, которая использует пользователя ‘root’ вместо вашего юзернейма, выполните следующие шаги:
1. Убедитесь, что Homebrew настроен правильно
Иногда проблемы с пользовательскими правами могут возникнуть из-за неправильных прав доступа к директориям Homebrew. Убедитесь, что все файлы и директории принадлежат вашему пользовательскому аккаунту. Вы можете сделать это с помощью команды:
sudo chown -R $(whoami) /opt/homebrew
Или, если вы используете Intel Mac:
sudo chown -R $(whoami) /usr/local
2. Полное удаление MariaDB
Убедитесь, что MariaDB полностью удалена, включая все конфигурационные файлы, чтобы избежать любых конфликтов:
brew remove --ignore-dependencies mariadb
rm -rf /opt/homebrew/var/mysql
3. Переустановка MariaDB
Переустановите MariaDB через Homebrew:
brew install mariadb
4. Настройка и запуск сервиса
После установки MariaDB вам необходимо его инициализировать и запустить. Начните с инициализации базы данных:
/opt/homebrew/opt/mariadb/bin/mariadb-install-db --user=$(whoami) --basedir=/opt/homebrew/opt/mariadb --datadir=/opt/homebrew/var/mysql
После этого запустите MariaDB:
brew services start mariadb
5. Проверка статуса
Проверьте статус запуска MariaDB:
brew services list
Убедитесь, что в выводе mariadb
отображается с вашим пользователем, а не с ‘root’.
6. Дополнительные проверки конфигурации
Если MariaDB по-прежнему не запускается, проверьте конфигурационные файлы. Возможно, в системе осталось старое конфигурационное значение (например, /etc/my.cnf
), которое может мешать запуску. Удалите или переместите этот файл:
sudo mv /etc/my.cnf /etc/my.cnf.backup
7. Проверка логов
Если после всех шагов MariaDB по-прежнему не запускается, проверьте логи для диагностики проблем. Логи можно найти по следующему пути:
cat /opt/homebrew/var/log/mariadb/mariadb.log
Заключение
Следуя этим шагам, вы должны уметь правильно установить и запустить MariaDB под вашим пользовательским аккаунтом на macOS. Если после выполнения всех указанных действий проблема сохраняется, возможно, имеет смысл удалить Homebrew полностью и переустановить его, чтобы убедиться, что все конфигурации чисты.