Установка пароля пользователя 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 ]

3 голосов
/ 19 января 2018

Если вы не можете вспомнить свой пароль, @ ответ Radtek сработал для меня, за исключением того, что в моем случае настроил MySQL с помощью brew , что означало, что шаги 1 и 2 егоОтвет должен был быть изменен на:

  1. /usr/local/bin/mysql.server stop

  2. /usr/local/bin/mysqld_safe --skip-grant-tables

Примечание: отсутствие sudo.

2 голосов
/ 25 июля 2018

Вот что именно у меня сработало:

  1. Убедитесь, что другой процесс MySQL не запущен. Чтобы проверить это, выполните следующее:

     a.From the terminal, run this command:
           lsof -i:3306 
       If any PID is returned, kill it using kill -9 PID
     b. Go To System Preferences > MySQL > check if any MySQL instances 
        are running, stop them.
    
  2. Запустите MySQL с помощью команды:

    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    
  3. Пароль для каждого пользователя хранится в таблице mysql.user в разделе столбцы User и authentication_string соответственно. Мы можем обновить таблица как:

    UPDATE mysql.user SET authentication_string='your_password' where User='root'
    
2 голосов
/ 20 апреля 2018

Остановка MySQL Server

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

Запуск MySQL в безопасном режиме

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

Изменение пароля root

/usr/local/mysql/bin/mysql -u root

use mysql;
UPDATE user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
exit

Тестирование

Запуск /usr/local/mysql/bin/mysql -u root

Теперь введите новый пароль, чтобы начать использовать MySQL.

2 голосов
/ 23 ноября 2018

Я думаю, что это должно работать:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD'

(обратите внимание, что вам, вероятно, следует заменить root на ваше имя пользователя, если оно не root)

1 голос
/ 03 августа 2018

Многое изменилось для MySQL 8. Я нашел следующую модификацию документации MySQL 8.0 «Как сбросить пароль root» работает с Mac OS X.

Создайте временный файл $HOME/mysql.root.txt с SQL для обновления пароля root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';

При этом используется mysql_native_password, чтобы избежать загрузки плагина Authentication 'caching_sha2_password'. Ошибка 1013 *, которую я получаю, если опустить опцию.

Остановите сервер, начните с опции --init-file для установки пароля root, затем перезапустите сервер:

mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start

1 голос
/ 23 декабря 2017

Если вы забыли свой пароль или хотите изменить его на свой mysql:

  1. запустите свой терминал и введите:
sudo su
Введите пароль для вашей системы Остановите свой mysql:
sudo /usr/local/mysql/support-files/mysql.server stop
Оставьте это окно ОТКРЫТОМ, запустите второе окно терминала и введите здесь:
mysql -u root
И измените свой пароль для mysql:
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';

где "new_password" - ваш новый проход.Вам не нужен старый пропуск для MySQL.

Промойте, выйдите и проверьте ваш новый пропуск:
FLUSH PRIVILEGES;
Закройте все окна и проверьте ваш новый пароль на наличие mysql.Удачи.
0 голосов
/ 18 июля 2019
mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string='yourpasswd' WHERE User='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

Мне как-то нужно делать это каждый раз, когда мой Macbook перезагружается.Размещая это для личного ознакомления, надеюсь, это поможет кому-то еще.

0 голосов
/ 21 мая 2019

macOS 10.14+ с 5.7.26, установленным из установщика Mac OSX DMG.

При попытке использовать команду UPDATE, отправленную другими пользователями, возникает следующая ошибка:

ОШИБКА 1820 (HY000): Вы должны сбросить свой пароль с помощью инструкции ALTER USER перед выполнением этой инструкции.

Скопируйте пароль, предоставленный вам открытым терминалом установщика, и выполните следующие действия:

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURPASSWORDHERE';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...