Як змінити мій пароль root mysql на порожній?


43

Коли я працюю локально, мені не потрібно вводити свій пароль для доступу до моєї бази даних. Я змінив свій root пароль, коли я вперше встановив mysql, але не знаю, як змінити пароль назад. Що я повинен зробити?

Відповіді:


43

Щоб змінити кореневий пароль на newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Щоб змінити його так, що root не вимагає пароля:

 mysqladmin -u root -p'oldpassword' password ''

Примітка: Я думаю , що це важливо , що не існує простір між -pта , 'oldpassword'але я можу помилятися про те , що


3
Я продовжую отримувати помилку: у доступі заборонено доступ до 'root' @ localhost. як я можу це виправити?
— tq

працює для мене: mysqladmin -u root -p'oldpassword 'password' '@tq: потрібно ввести точно старий пароль
— Bảo Nam

15

Замість того, щоб видаляти пароль (який може спричинити неприємні наслідки, якщо ви випадково піддаєте цей сервер дикій природі), введіть поточний пароль (і ваше ім'я користувача) у ~/.my.cnf(або, мабуть, в інше еквівалентне місце в Windows), яке виглядає приблизно так:

[client]
user = root
password = s3kr1t

Це дає MySQL приголомшливу здатність до автологічного входу за допомогою наданих облікових даних, не залишаючи вас широко відкритими для неприємностей у майбутньому.


7
  1. Зупиніть mysqld і перезапустіть його за допомогою параметра --skip-grant-table .
  2. Підключіться до нього за допомогою просто mysql .
  3. Змінення кореневого пароля:

    ОНОВЛЕННЯ mysql.user SET Password = ПАРОЛЬ ('MyNewPass') WHERE User = 'root';

    ПРИГОТОВЛЕННЯ;

Для довідки: офіційні документи mysql .


1
Це працює, але це жорстокий спосіб зробити це. Це більше для того, коли ви не знаєте пароль.
— Давид

6

Зауважте, що починаючи з MySQL 5.7, плагін validate_password активний за замовчуванням і не дозволяє використовувати порожній пароль.

Вам потрібно відключити цей плагін, щоб увімкнути порожній пароль:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Будьте уважні, якщо, якщо ви не піклуєтесь про безпеку, вам слід дотримуватися порад @ Womble і використовувати пароль, а також .my.cnfфайл для зручності.

Перевірте статтю Видалення кореневого пароля MySQL з цієї теми!


Для версій> 5.6 це єдиний спосіб роботи. Я підозрюю, що він повинен працювати і на попередніх версіях.
— Дієго

1

У новіших версіях

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

і це видалить пароль

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.