Як змінити мій пароль 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.