Homebrew-> MariaDB(10.4.11) Проблемы с разрешениями в OSX Catalina (10.15.3)
Я настраиваю новую машину для разработки с OS X Catalina (10.15.3) и у меня проблемы с разрешениями MariaDB/MySQL. Я установил Homebrew, а затем установил пакет MariaDB. После входа в систему с помощьюmysql -uroot
, Я получаю следующую ошибку при попытке создать базу данных:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'my_db'
После чтения ошибки похоже, что моя команда интерпретируется как запускаемая не от root, а от анонимного пользователя. Однако когда я бегуstatus
в командной строке MySQL он выводит следующее:
MariaDB [(none)]> status;
--------------
mysql Ver 15.1 Distrib 10.4.11-MariaDB, for osx10.15 (x86_64) using readline 5.1
Connection id: 9
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: less
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.4.11-MariaDB Homebrew
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 18 min 10 sec
Threads: 7 Questions: 11 Slow queries: 0 Opens: 16 Flush tables: 1 Open tables: 10 Queries per second avg: 0.010
--------------
Похоже, это означает, что он регистрирует меня как пользователя root @ localhost, но это не то, о чем говорит ранее указанная ошибка.
Это ошибка, связанная с разрешениями? Я не думаю, что пропустилsudo
префиксы при установке, но похоже, что это может быть связано.
Это всегда "просто работало" для меня при настройке / переформатировании моих машин разработки, так что это мой первый раз, когда приходится копаться. Любая помощь приветствуется, и дайте мне знать, будет ли полезна дополнительная информация. Заранее благодарю за любой совет!
Обновление №1 (13.03.2020)
Попробовав несколько разных вещей и переустановив Homebrew, а также MariaDB, я сейчас нахожусь в таком месте, где получаю ошибку отказа в доступе (см. Ниже), когда я пытаюсь войти в систему через iTerm/Terminal с помощью mysql -uroot
однако используя sudo mysql -uroot
Я могу войти. Я могу запускать команды для создания базы данных после входа в систему с префиксом sudo, однако эти базы данных недоступны ни в одном из моих проектов через проверку usr/pwd через файл.env для Laravel и wp-config.php для Wordpress.
Это заставляет меня думать, что это ошибка разрешений, и мне нужно как-то настроить пакет MariaDB/MySQL, чтобы у моего пользователя OS X было разрешение на чтение / запись / выполнение, а не только на root.
Просто хотел опубликовать обновление, надеюсь, что касается разрешения...
➜ ~ mysql -uroot
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Обновление №2 (13.03.2020)
Когда я вхожу в систему с префиксом sudo, я могу распечатать таблицу пользователей со значениями плагина для каждого пользователя, чтобы показать, как они проходят аутентификацию, если это полезно
MariaDB [(none)]> select User, Host, Plugin from mysql.user;
+---------+---------------------+-----------------------+
| User | Host | plugin |
+---------+---------------------+-----------------------+
| root | localhost | unix_socket |
| os_user | localhost | mysql_native_password |
| | localhost | |
| | usrnames-imac.local | |
+---------+---------------------+-----------------------+