Установка пароля пользователя root MySQL на OS X - PullRequest
221 голосов
/ 25 июня 2011

Я только что установил MySQL на Mac OS X. Следующим шагом была установка пароля пользователя root, поэтому я сделал следующее:

  1. Запустите приложение терминала для доступа к командной строке Unix.
  2. Под приглашением Unix я выполнил следующие команды:

    $ cd /usr/local/mysql/bin
    $ ./mysqladmin -u root password 'password'
    

Но когда я выполняю команду

$ ./mysql -u root, это ответ:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Я могу войти в командную строку mysql без пароля!

Почему это?

Ответы [ 18 ]

308 голосов
/ 25 июня 2011

Попробуйте ввести команду FLUSH PRIVILEGES при входе в терминал MySQL.Если это не сработает, попробуйте следующий набор команд в терминале MySQL

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Измените NEWPASSWORD с любым паролем, который вы хотите.Должно быть все установлено!

Обновление : Начиная с MySQL 5.7, поле password было переименовано authentication_string.При смене пароля используйте следующий запрос для смены пароля.Все остальные команды остаются прежними:

mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';

Обновление : На 8.0.15 (возможно, уже до этой версии) функция PASSWORD () не работает, как упомянуто в комментариях ниже,Вы должны использовать:

UPDATE mysql.user SET authentication_string='password' WHERE User='root';

190 голосов
/ 04 апреля 2014

Если вы не помните пароль, который вы установили для пользователя root, и вам необходимо его сбросить, выполните следующие действия:

  1. Остановите сервер mysqld, это зависит от установки
  2. Запустить сервер в безопасном режиме с обходом привилегий

sudo mysqld_safe --skip-grant-tables;

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

mysql -u root

Для MySQL старше MySQL 5.7 используйте:

UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';

Для MySQL 5.7+ используйте:

USE mysql;

UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';

Обновить и выйти:

FLUSH PRIVILEGES;

\q

  1. Остановите сервер в безопасном режиме и снова запустите ваш обычный сервер. Новый пароль должен работать сейчас. Работал как шарм для меня:)
84 голосов
/ 17 апреля 2012

После того, как вы установили MySQL, вам нужно будет установить пароль root.Если вы не устанавливаете пароль root, тогда, ну, нет пароля root, и вам не нужен пароль для входа в систему.

Итак, как говорится, вам нужно установить rootпароль.

С помощью терминала введите следующее:

Установка: Установите пароль пользователя root:

/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE

Если вы допустили ошибку или вам нужно изменить rootиспользуйте следующий пароль:

Сменить пароль root:

cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]

use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit
59 голосов
/ 11 июня 2016

Инструкции, представленные на веб-сайте mysql, настолько ясны, что вышеупомянутые

  1. $ sudo /usr/local/mysql/support-files/mysql.server stop
  2. $ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
  3. /usr/local/mysql/bin/mysql
  4. mysql> FLUSH PRIVILEGES;
  5. mysql> ALTER USER 'root' @ 'localhost', ИДЕНТИФИЦИРОВАННЫЙ 'MyNewPass';
  6. mysql> exit или Ctrl + z
  7. $ sudo /usr/local/mysql/support-files/mysql.server stop
  8. $ sudo /usr/local/mysql/support-files/mysql.server start
  9. /usr/local/mysql/support-files/mysql -u root -p
  10. Введите новый пароль, т.е. MyNewPass

Ссылка: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

53 голосов
/ 04 сентября 2016
  1. Остановите сервер mysqld.

    • Mac OSX: System Preferences> MySQL> Stop MySQL Server
    • Linux (из терминала): sudo systemctl stop mysqld.service
  2. Запустить сервер в безопасном режиме с обходом привилегий

    • Из терминала: sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  3. В новом окне терминала:

    • sudo /usr/local/mysql/bin/mysql -u root
  4. Откроется командная строка mysql. Отсюда введите:

    • UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';

    • FLUSH PRIVILEGES;

    • quit

  5. Снова остановите сервер mysqld и перезапустите его в обычном режиме.

    • Mac OSX (из терминала): sudo /usr/local/mysql/support-files/mysql.server restart
    • Терминал Linux: sudo systemctl restart mysqld
23 голосов
/ 25 февраля 2017

Для нового Mysql 5.7 по какой-то причине команды bin Mysql не присоединены к оболочке:

  1. Перезагрузите Mac после установки.

  2. Старт Mysql:

    Системные настройки> Mysql> кнопка «Пуск»

  3. Перейдите в папку установки Mysql на терминале:

    $ cd /usr/local/mysql/bin/

  4. Доступ к Mysql:

    $ ./mysql -u root -p

и введите исходный пароль, указанный при установке.

  1. В терминале Mysql смените пароль:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

15 голосов
/ 21 января 2016

В терминале напишите mysql -u root -p и нажмите Return. Введите текущий пароль MySQL, который вы должны были записать вниз. И установить пароль SET PASSWORD = PASSWORD('new_password');

Пожалуйста, обратитесь к этой документации здесь для более подробной информации.

10 голосов
/ 19 февраля 2015

Если вы забыли пароль root для MySQL, не можете вспомнить или хотите взломать… .. вы можете сбросить пароль базы данных mysql из командной строки в Linux или OS X, если вы знаете пароль пользователя root из коробки, на которой вы находитесь:

(1) Stop MySQL

sudo /usr/local/mysql/support-files/mysql.server stop

(2) Запустите его в безопасном режиме:

sudo mysqld_safe --skip-grant-tables

(3) Это будет текущая команда до завершения процесса , поэтому откройте другое окно оболочки / терминала , войдите без пароля:

mysql -u root

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

В приведенной выше команде UPDATE просто замените «пароль» своим новым паролем, обязательно оставьте кавычки

(4) Сохранить и довольно

FLUSH PRIVILEGES;

\q

(5) Запустите MySQL

sudo /usr/local/mysql/support-files/mysql.server start
5 голосов
/ 16 октября 2018

Методы, упомянутые в существующих ответах, не работают для MySQL 5.7.6 или новее.Согласно документации mysql это рекомендуемый способ.

B.5.3.2.3 Сброс пароля root: Общие инструкции

MySQL 5.7.6 и более поздние версии:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Ссылка: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

5 голосов
/ 08 декабря 2014

Когда я установил OS X Yosemite, у меня возникла проблема с Mysql. Я перепробовал много методов, но ни один из них не сработал. Я действительно нашел довольно простой способ. Попробуйте это.

  1. Первый вход в терминал с правами su.

sudo su

  1. Стоп MySQL

sudo /usr/local/mysql/support-files/mysql.server stop

  1. запуск в безопасном режиме:

sudo mysqld_safe --skip-grant-tables

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

mysql -u root

  1. сменить пароль

UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

  1. сброс привилегий

FLUSH PRIVILEGES;

  1. Вы закончили сейчас
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...