Як скинути кореневий пароль MySQL

Як скинути кореневий пароль MySQL

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

Що таке кореневий пароль MySQL?

Кореневий обліковий запис є еквівалентом адміністратора в Windows, або хтось, хто може змінити будь-яку частину системи. В Unix-подібних системах root дійсно може робити що завгодно, але він відрізняється тим, що він створюється автоматично при установці системи і не може бути зазвичай вилучений. Порівняйте це з Windows, де будь-який обліковий запис користувача може вважатися адміністратором.

І в MacOS, і в багатьох дистрибутивах Linux цей користувач за замовчуванням вимкнений. Замість цього ви зазвичай будете використовувати команди su/sudo. Вони виконують вашу команду, як якщо б ви були суперкористувачем. Це те саме, що використовувати «Запуск від імені адміністратора» для запуску програм Windows.

Тепер розглянемо, що MySQL є багатокористувальницькою підсистемою. Ви встановлюєте його на свій комп'ютер або сервер і призначаєте його власним користувачам, а потім призначаєте цим користувачам їхні власні дозволи. Вони можуть повністю відрізнятися від користувачів системи в цілому, особливо в системах * nix, таких як Linux. Тому, так само як у всієї системи є користувач root, підсистемі MySQL потрібен суперкористувач, який може виправити її, якщо щось піде не так. Це root-користувач MySQL.

Коли ви створюєте пароль користувача root MySQL?

Як і системний користувач root, кореневий користувач MySQL є обліковим записом за замовчуванням і створюється при установці MySQL. Зараз ви створите початковий пароль для користувача root MySQL. Після встановлення серверного пакунка MySQL програма попросить вас ввести пароль, а потім встановіть його для користувача root.

Створення файла ініціалізації для скидання пароля MySQL

Зміна пароля користувача root в Unix-подібних системах зазвичай є серйозним завданням. Ви не можете зробити це легко, інакше хтось може зробити це і взяти під контроль вашу систему. Звичайні інструменти для скидання пароля будуть працювати нормально, якщо у вас є поточний пароль, але давайте припустимо, що у вас його немає, і вам потрібно скинути пароль на щось нове.

Прийом, який ми будемо використовувати для скидання пароля, використовує файл ініціалізації при запуску сервера MySQL. Це файл, який може містити команди, які виконуються разом зі звичайними конфігураціями. У цьому випадку одна з цих команд збирається змінити пароль для користувача root.

Незалежно від вашої ОС, ви можете підготуватися до цього, створивши одностроковий текстовий файл, що містить наступне:

ALTER USER'root'@'localhost'ІДЕНТИФІКОВАНО'new _ password';

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

Коли ви запускаєте сервер MySQL і передаєте йому цей файл ініціалізації, він буде виконувати команди всередині, і ефект буде оновлювати пароль користувача root при запуску сервера.

Скинути пароль MySQL за допомогою файла ініціалізації

Основна послідовність дій, яку ми зробимо, - це зупинити сервер, якщо він працює, запустити його знову вручну за допомогою файла ініціалізації, знову зупинити його і, нарешті, перезапустити його звичайним способом. Конкретні кроки полягають у наступному:

  1. Зупиніть MySQL, якщо він працює. Знайдіть інструкції для операційної системи (Windows, Mac або Linux) та перейдіть до кроку 5.
  2. У Windows в меню «Пуск» відкрийте «Панель керування» > «Адміністрування». Виберіть Services, потім знайдіть MySQL у списку. Якщо він відображається як працюючий, натисніть «Зупинити службу», щоб закрити її.

Засоби адміністрування можуть знаходитися в розділі «Система і безпека», якщо ви так влаштували панель керування.

  1. У macOS перейдіть до параметрів системи > MySQL. Панель налаштувань з "явиться і покаже вам, чи працює сервер, а також дасть вам можливість зупинити його.
  2. У Linux ви можете виконати команду «sudo service mysqld stop», щоб вимкнути сервер.
  3. Потім знову запустіть сервер і вкажіть створений вами файл ініціалізації. Команда:

Якщо ви працюєте в Windows, переконайтеся, що ви запускаєте вказану вище команду з каталогу виконуваного файла, зазвичай це C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ bin

Якщо ви використовували пакет установника Windows MySQL (.msi), вам також необхідно додати «файл за замовчуванням» для завантаження всіх інших конфігурацій, необхідних MySQL: C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini «- INIT-файл = C: \ Users\Aaron\Desktop\назва-оф-файл

  1. Нарешті, перезапустіть сервер MySQL:
    • У Windows перейдіть на екран Служби та виберіть команду «Запустити службу для MySQL».
    • У macOS знову запустіть резервне копіювання сервера з екрану налаштувань MySQL.
    • У Linux запустіть sudo service start mysqld.

Хоча в цьому немає особливої необхідності, рекомендується переконатися, що він запускається з усіма звичайними конфігураціями.

  1. На цьому етапі спробуйте увійти на сервер за допомогою клієнта командного рядка, використовуючи оновлений пароль.