MacOSX homebrew пароль пользователя mysql

По какой-то причине MySQL перестала давать доступ для root. Удалено и переустановлено с помощью Homebrew. Свежая установка, свежие таблицы, но когда я вхожу

mysql -u root -p

Я получаю эту ошибку:

Доступ запрещен для пользователя 'root' @'localhost' (с использованием пароля: НЕТ)

Я переустанавливал MySQL пять раз, но он все еще запрашивает пароль. Как это исправить?

Ответ 1

Просто запустите эту команду (где NEWPASS - ваш пароль):

$(brew --prefix mysql)/bin/mysqladmin -u root password NEWPASS

У меня была такая же ошибка, и я ее исправил.

Ответ 2

У меня была такая же проблема пару дней назад. Это происходит, когда вы устанавливаете mysql через homebrew и запускаете инициализацию script (mysql_install_db) до, начиная с демона mysql.

Чтобы исправить это, вы можете удалить файлы данных mysql, перезапустить службу и затем запустить инициализацию script:

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm -r /usr/local/var/mysql/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Ответ 3

Если вы случайно установили и забыли пароль root, и вы не хотите стереть все ваши базы данных и начать все заново, потому что вы ленивы и забываете иметь резервное решение на месте, и вы используете довольно недавняя установка Homebrew (зима 2013), вот шаги к reset вашему паролю для MySQL.

Остановить текущий исполняемый экземпляр MySQL

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Теперь запустите mysql вручную, пропустив таблицы грантов и сети

$(brew --prefix mysql)/bin/mysqld_safe --skip-grant-tables --skip-networking

Обратите внимание, что если при запуске echo $(brew --prefix mysql) и он не отвечает как "/usr/local/opt/mysql" в bash вам нужно будет соответствующим образом настроить путь.

Как только вы это сделаете, теперь у вас должен быть запущенный, незащищенный экземпляр MySQL.

Войдите и установите пароль

mysql -u root

В командной строке введите следующую команду MySQL, чтобы установить новый пароль для пользователя.

mysql> update mysql.user set password=PASSWORD('new_password_here') WHERE user='root';

Если все пойдет по плану, он должен сказать:

Query OK, 1 row affected (0.02 sec)
Rows matched: 4  Changed: 1  Warnings: 0

Выход из приглашения MySQL.

mysql> exit
Bye

Остановить сервер:

mysqladmin -u root shutdown

Теперь давайте вернем демон запуска, чтобы наш MySQL снова был готов:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Поздравления. Вы только reset ваш пароль пользователя mysql. Налейте себе кофе и получите резервное решение на месте!

Ответ 4

Ничто из этого не помогло мне. Я думаю, что у меня уже был mysql где-то на моем компьютере, поэтому пароль был установлен там или что-то. Потратив часы, пробуя каждое решение, вот что сработало для меня:

$ brew services stop mysql
$ pkill mysqld
$ rm -rf /usr/local/var/mysql/ # NOTE: this will delete your existing database!!!
$ brew postinstall mysql
$ brew services restart mysql
$ mysql -uroot

все заслуги @Ghrua

Ответ 5

Получил эту ошибку после установки mysql через home brew.

Итак, сначала удалите установку. Затем переустановите через Homebrew

brew update
brew doctor
brew install mysql

Затем перезапустите службу mysql

 mysql.server restart

Затем запустите эту команду, чтобы установить новый пароль root.

 mysql_secure_installation

Наконец, он попросит перезагрузить привилегии. Скажи да. Затем снова войдите в mysql. И используйте новый пароль, который вы установили.

mysql -u root -p

Ответ 6

Я только что заметил что-то общее для большинства ответов здесь и подтвердил свою новую установку. Это действительно очевидно, если вы посмотрите на рекомендации для запуска mysqladmin -u root без -p.

Нет пароля.

Brew устанавливает mysql только с пользователем root и без пароля. Это имеет смысл, я думаю, но post-install Caveats вообще не упоминает об этом.

Ответ 7

Убедитесь, что у вас нет .my.cnf, скрывающегося в вашем homedir. Это была моя проблема.

Ответ 8

Запуск этих строк в терминале помогло и нескольких других, у которых была такая же проблема. Эти инструкции перечислены в терминале после brew успешно завершает mysql.

mkdir -p ~/Library/LaunchAgents

cp /usr/local/Cellar/mysql/5.5.25a/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

/usr/local/Cellar/mysql/5.5.25a/bin/mysqladmin -u root password 'YOURPASSWORD'

где YOURPASSWORD - пароль для root.

Ответ 9

Для меня это работало для MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx

Запустите mysql, запустив

Заваривать услуги запуска MySQL

Запустите установочный скрипт

mysql_secure_installation

Вам будет предложено настроить плагин VALIDATE PASSWORD. Введите y, чтобы сделать это.

Выберите требуемую проверку пароля (не имеет значения, используете ли вы только базу данных)

Теперь выберите y для всех оставшихся вариантов: Удалить еще раз. пользователей; запретить удаленный вход в систему; удалить тестовую базу данных; перезагрузить таблицы привилегий. Теперь вы должны получить сообщение

All done!

Ответ 10

Терминал 1:

$ mysql_safe

Терминал 2:

$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Ответ 11

Пароль по умолчанию при установке mysql через brew - root, попробуйте это, у меня получилось

mysql -uroot -proot