macOS – brew install mariadb использует ‘root’ вместо моего пользователя? (и не запускается)

Вопрос или проблема

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 полностью и переустановить его, чтобы убедиться, что все конфигурации чисты.

Оцените материал
Добавить комментарий

Капча загружается...