MySQL почему-то перестал давать доступ root. Удалил и переустановил с Homebrew. Свежая установка, свежие таблицы, но когда я вхожу
mysql -u root -p
Я получаю такую ошибку:
Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: NO)
Я переустанавливал MySQL пять раз, но он все еще запрашивает пароль. Как это исправить?
mysql_secure_installation
и ответь на заданные вопросы, простоmysql -u root
работал здесь ...Ответы:
Просто запустите эту команду (где
NEWPASS
ваш пароль):У меня была такая же ошибка, и я исправил ее таким образом.
источник
$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
У меня ничего из этого не сработало. Я думаю, что у меня уже был mysql где-то на моем компьютере, поэтому там был установлен пароль или что-то в этом роде. Я потратил несколько часов на то, чтобы пробовать каждое решение, вот что сработало для меня:
все заслуги @Ghrua
источник
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
для установки нового пароля root.Если вы случайно установили и забыли пароль root, и вы не хотите стереть все свои базы данных и начать заново, потому что вы ленивы и забыли иметь резервную копию на месте, и вы используете довольно недавнюю установку Homebrew (Зима 2013 г.), вот шаги, чтобы сбросить пароль для MySQL.
Остановить текущий запущенный экземпляр MySQL
Теперь запустите mysql вручную, пропуская таблицы привилегий и работу в сети.
Обратите внимание, что если при запуске echo $ (brew --prefix mysql) он не отвечает как «/ usr / local / opt / mysql» в bash, вам нужно будет соответствующим образом изменить путь.
Как только вы это сделаете, у вас должен быть запущен незащищенный экземпляр MySQL.
Авторизуйтесь и установите пароль
В командной строке введите следующую команду MySQL, чтобы установить новый пароль для затронутого пользователя.
Если все пойдет по плану, должно быть сказано:
Выйдите из командной строки MySQL.
Остановить сервер:
Теперь давайте вернем демон запуска, чтобы наша MySQL снова была готова:
Поздравляю. Вы только что сбросили свой пароль root mysql. Налей себе кофе и приготовь запасной раствор!
источник
mysqladmin -u root shutdown
password
это недопустимый столбец в mysql 5.7.9. Вместо этого мне пришлось использоватьauthentication_string
вместо этого. Остальные инструкции работали отлично. Спасибо!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
чтобы он заработал. (Как и комментарий прямо выше меня, но препендmysql.
кuser
.)Пару дней назад у меня была такая же проблема. Это происходит, когда вы устанавливаете
mysql
черезhomebrew
и запускаете сценарий инициализации (mysql_install_db
) перед запускомmysql
демона.Чтобы исправить это, вы можете удалить
mysql
файлы данных, перезапустить службу, а затем запустить скрипт инициализации:источник
mysqld --initialize
No such file or directory
когда запускаю эту первую команду.Получил эту ошибку после установки mysql через домашнее пиво.
Итак, сначала удалите установку. Затем переустановите через Homebrew
Затем перезапустите службу mysql
Затем запустите эту команду, чтобы установить новый пароль root.
Наконец, он попросит перезагрузить привилегии. Скажи да. Затем снова войдите в mysql. И используйте новый пароль, который вы установили.
источник
mysql_secure_installation
но ключевым моментом былmysql.server restart
Если ты бежишь
также не удается войти в систему с учетной записью root:
то пользователь по умолчанию администратора создается то же имя , как ваши MacOS учетной записи пользователя , например johnsmit .
Чтобы войти в систему как root, введите:
источник
Это сработало для меня:
источник
Я только что заметил что-то общее с большинством ответов здесь и подтвердил свою новую установку. На самом деле это очевидно, если вы посмотрите на рекомендации,
mysqladmin -u root
без которых нельзя бегать-p
.Нет пароля.
Brew устанавливает mysql только с пользователем root и без пароля. Думаю, в этом есть смысл, но в предупреждениях после установки об этом вообще не упоминается.
источник
Попробуйте,
sudo
чтобы избежать ошибки «Доступ запрещен»:sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
источник
Поскольку вопрос был задан / отвечен давным-давно, эти главные ответы мне не подходят. Вот мое решение в 2020 году.
Предыстория : свежий mysql / mariadb, установленный homebrew.
Проблема : пароль для root не пустой и неизвестный.
Исправление :
Причина :
источник
Надеюсь это поможет.
источник
Запуск этих строк в терминале помог мне и нескольким другим, у кого была такая же проблема. Эти инструкции отображаются в терминале после того, как brew успешно установит mysql.
где
YOURPASSWORD
пароль для root.источник
No such file or directory
когда запускаю эти командыУбедитесь, что в вашем домашнем каталоге не прячется .my.cnf. Это была моя проблема.
источник
Это сработало для меня для MAC https://flipdazed.github.io/blog/osx%20main maintenance/ set-up- mysql- osx
Запустите mysql, запустив
сервисы brew запускают mysql
Запускаем установочный скрипт
mysql_secure_installation
Вам будет предложено настроить плагин VALIDATE PASSWORD. Для этого введите y.
Выберите требуемую проверку пароля (не имеет значения, если только вы используете базу данных)
Теперь выберите y для всех остальных опций: Удалить анон. пользователей; запретить удаленный вход в систему root; удалить тестовую базу данных; перезагрузить таблицы привилегий. Теперь вы должны получить сообщение
All done!
источник
Это сработало для меня. Надеюсь, это сработает и для вас !!! Следуйте за ними.
источник
rm -rf /usr/local/var/mysql/
команда удалит все базы данных и данные Mysql на вашем компьютере!Пароль по умолчанию при установке mysql через brew - root, попробуйте это, у меня это сработало.
mysql -uroot -proot
источник
brew info mysql
: Мы установили вашу базу данных MySQL без пароля root. Чтобы защитить его, запустите: mysql_secure_installationТерминал 1:
Терминал 2:
источник
Я использую Catalina, использую эту
mysql_secure_installation
команду и теперь у меня работает:я вхожу
root
как текущий парольа остальное сделай
источник
Итак, в случае, если у кого-то такая же ситуация и конфигурация, что и у меня, и он тоже вот-вот сойдет с ума - это сработало для меня .
После долгой истории , которую я имел варочный установленный MariaDB , которая хранится автоматическим перезапуск , когда я убил свой процесс (это варево делает), которые имели корневой пароль, который я не знаю.
$ brew services list
Это показывает что-то вроде:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Остановите сервер MySQL с помощью:
$ brew services stop mariadb
Затем запустите его снова без пользователя root (и без использования brew):
$ mariadbd --skip-grant-tables &
Здесь
mysql_secure_installation
у меня не сработало из-за--skip-grant-tables
, и не было бы без него,--skip-grant-tables
потому что требовался пароль (которого у меня не было).Попытка
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
вернула только странные ошибки и ничего не дала;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
также не работал, выдавал разные ошибки и предложения, которые у меня не работали.Но теперь вы можете войти в mysql без учетных данных:
$ mysql
Здесь старый метод обновления таблицы пользователей для root не работает, потому что «Столбец« Пароль »не обновляется».
Новый метод использует
alter user
НО работает только после того, как вы этоflush privileges;
сделаете.Затем:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(здесь
MariaDB [(none)]>
находится приглашение MySQL)Затем
flush privileges;
повторите.Закройте клиент MySQL.
Что касается brew, MariaDB все еще не запущен, поэтому используйте его
$ ps aux | grep -i mariadb
для поиска pid и$ kill -9 <pid>
его.Затем используйте,
$ brew services start mariadb
чтобы запустить его снова.источник
Используйте файл инициализации, чтобы запустить mysql, чтобы изменить пароль root.
Ваш пароль root теперь изменен. Обязательно завершите работу сервера, чтобы сохранить изменение пароля. В новом окне терминала выполнить
и введите свой новый пропуск.
Запустите службу и удалите файл инициализации
Проверено на mysql версии 8.0.19
источник