Як скинути або змінити кореневий пароль MySQL?


179

Як змінити пароль і ім'я користувача MySQL на сервері ubuntu? Чи потрібно зупиняти службу mysql, перш ніж встановлювати будь-які зміни?

У мене також є програма phpmyadmin, чи оновиться автоматично оновлення phpmyadmin?


Якщо вам не потрібні дані, ви можете "скинути" пароль, видаливши mysql в повному обсязі: stackoverflow.com/questions/10853004/…, потім встановіть його знову (він запропонує вам "новий" пароль root) FWIW: )
rogerdpack

Чи знаєте ви кореневий пароль MySQL?
Франк Дернонкурт

2
на mysql-server-5.7 ці методи не працюють. використовуйте "sudo" без пароля, як згадується в askubuntu.com/a/848504
Pragalathan M

Відповіді:


225

Встановити / змінити / скинути кореневий пароль MySQL на Ubuntu Linux. Введіть наступні рядки у свій термінал.

  1. Зупинення сервера MySQL: sudo /etc/init.d/mysql stop
  2. Запуск mysqldконфігурації:sudo mysqld --skip-grant-tables &

    У деяких випадках потрібно створити /var/run/mysqldперше:

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  3. Виконати: sudo service mysql start
  4. Увійдіть до MySQL як корінь: mysql -u root mysql
  5. Замініть YOURNEWPASSWORDсвоїм новим паролем:

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;

Примітка. У деяких версіях, якщо passwordстовпець не існує, ви можете спробувати:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Примітка. Цей метод не вважається найбільш безпечним способом скидання пароля, однак він працює.

Список літератури:

  1. Встановити / змінити / скинути кореневий пароль MySQL на Ubuntu Linux
  2. Як скинути пароль Root

20
Звичайно, після цього моменту вам потрібно буде вбити тимчасовий без паролів серверний процес, який ви розпочали на кроці 2. Можливо, використовувати sudo killall -9 mysqld? а потім sudo service mysql startперезапустити звичайний демон ...
Ламбарт

7
Метод у цій відповіді потрібен лише для скидання кореневого пароля MySQL, про який ви не знаєте [джерело ]. Якщо ви це знаєте, SET PASSWORDінструкція MySQL призначена для вас.
таніум

53
Я дотримувався третього кроку, і я не можу підключитися до локального сервера MySQL через сокет '/var/run/mysqld/mysqld.sock' (2), коли я
ввійду

12
в деяких випадках вам також потрібно пробігти mkdir /var/run/mysqldі chown mysql: /var/run/mysqldміж кроками 1 і 2
Невіл Назеран

9
крок 3 не працював для мене з Ubuntu 18.04. Я щойно увійшов у систему, використовуючи sudo mysql
itsols

122

Єдиний метод, який працював для мене, - це описаний тут (я запускаю ubuntu 14.04). Для наочності це наступні кроки:

  1. sudo vim /etc/mysql/my.cnf
  2. Додайте наступні рядки наприкінці:

    [mysqld]
    
    пропустити-грант-таблиці
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root';- Подивіться вгорі, щоб визначити, чи називається стовпець паролем паролем або автентифікацією

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - Використовуйте відповідний стовпець пароля зверху

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. Видаліть рядки, додані на кроці 2, якщо ви хочете дотримуватися своїх стандартів безпеки.

  12. sudo service mysql restart

Довідково: https://dev.mysql.com/doc/refman/5.7/uk/resetting-permissions.html


8
Нарешті, це спрацювало для мене! Я запускаю MySQL 5.7.18 на Ubuntu 16.04. Я спробував переконфігурувати dpkg, відповідь Анвеша, відповідь Крістіана Марка та навіть інструкції на довідковій сторінці MySQL.
mbuc91

9
Мені довелося запустити UPDATE mysql.user SET authentication_string = PASSWORD ('newpwd') WHERE User = 'root'; замість рядка 5.
mbuc91

2
Єдине рішення, яке працювало для мене. У мене є Ubuntu 17.04 та mysql 5.7
Мохамед

1
Сумно, це не працює для мене mysql 5.7.22 ubuntu 18.04
Маріо

1
Все працювало як очікувалося. Але при спробі входу в систему йдеться Введіть пароль: ПОМИЛКА 1698 (28000): Доступ заборонено користувачеві 'root' @ 'localhost'
Dipak Chatterjee

101

Офіційний і простий спосіб скинути пароль root на сервер ubuntu ...

Якщо ви 16.04, 14.04, 12.04:

sudo dpkg-reconfigure mysql-server-5.5

Якщо ви 10.04:

sudo dpkg-reconfigure mysql-server-5.1

Якщо ви не впевнені, яка версія mysql-сервера встановлена, ви можете спробувати:

dpkg --get-selections | grep mysql-server

Оновлені нотатки для mysql-сервера-5.7

Зауважте, що якщо ви використовуєте mysql-server-5.7, ви не можете скористатися більш простим методом перенастроювання dpkg, показаним вище.

Якщо ви знаєте пароль, увійдіть та запустіть це:

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

Крім того, ви можете використовувати наступне:

sudo mysql_secure_installation

Це дасть вам ряд питань щодо забезпечення встановлення (настійно рекомендується), у тому числі, якщо ви хочете надати новий корінний пароль.

Якщо ви НЕ знаєте кореневого пароля, зверніться до цього запису Ubuntu, орієнтованого на процес .

Докладніше:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html


3
Працює навіть тоді, коли ви втратили початковий пароль кореня MySQL - приємно.
таній

4
Працює зVer 14.14 Distrib 5.5.38, for debian-linux-gnu
justinpage

Працював з mysql v 5.0 також ...sudo dpkg-reconfigure mysql-server-5.0
dsghi

4
sudo dpkg-переконфігуруйте mysql-server-5.7 не працює для Ubuntu 18.04 для скидання пароля root. Будь-який інший заступник?
Джагдіп Сінгх

Ubuntu:sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
kenorb

77

Що для мене працювало (Ubuntu 16.04, mysql 5.7):

Зупиніть MySQL

sudo service mysql stop

Складіть каталог служб MySQL.

sudo mkdir /var/run/mysqld

Надати користувачеві MySQL дозвіл на запис у службовий каталог.

sudo chown mysql: /var/run/mysqld

Запустіть MySQL вручну, без перевірки дозволів чи встановлення мереж.

sudo mysqld_safe --skip-grant-tables --skip-networking &

На іншій консолі увійдіть без пароля.

mysql -uroot mysql

Тоді:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

Вимкніть MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Запускайте сервіс MySQL нормально.

sudo service mysql start

Інші способи не спрацювали для мене, але цей (спасибі!), Або ви також можете зайти сюди rricketts.com/reset-root-password-mysql-5-7-ubuntu-16-04-lts
гній

10
Дуже корисний ! У моєму конкретному випадку (Ubuntu 18.04 LTS) мені довелося замінити хост '%' на 'localhost'
FredericK

Це не спрацювало в ubuntu 18.04. Але це спрацювало з цією невеликою зміною, описаною тут stackoverflow.com/a/53385753/1591143
Олександр Попович

76

Я ділюся покроковим остаточним рішенням щодо скидання пароля MySQL в Linux Ubuntu.

Довідка взята з блогу (dbrnd.com)

Крок 1: Зупиніть службу MySQL.

sudo stop mysql

Крок 2: Вбийте всі запущені mysqld.

sudo killall -9 mysqld

Крок 3: Запуск mysqld в безпечному режимі.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Крок 4: Запустіть клієнт mysql

mysql -u root

Крок 5: Після успішного входу, будь ласка, виконайте цю команду, щоб змінити будь-який пароль.

FLUSH PRIVILEGES;

Крок 6: Ви можете оновити пароль root для mysql.

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

Примітка . На MySQL 5.7 Passwordвикликається стовпець authentication_string.

Крок 7: Будь ласка, виконайте цю команду.

FLUSH PRIVILEGES;

Справді. Також він ближче до офіційної документації . У разі , якщо ви зіткнулися з цим: «ERROR тисячу п'ятсот двадцять чотири (HY000): підключається модуль" auth_socket »не завантажений», подивіться на stackoverflow.com/questions/37879448 / ...
Wtower

Я також повинен був змінити mysql.user.plugin з "auth_socket" на "mysql_native_password" для мого кореневого користувача з хостом "localhost".
Брендон

1
Мені довелося використовувати "sudo /etc/init.d/mysql stop", щоб зупинити службу, і "UPDATE mysql.user SET authentication_string = PASSWORD ('newpwd') WHERE User = 'root';" оновити пароль
L Bahr

1
автентифіковано _string допомогло
Faiyaz Md Abdul

42

Я зіткнувся з проблемами з ubuntu 18.04 та mysql 5.7, це рішення

Спробуйте перезапустити mysql-сервер перед виконанням команд

sudo service mysql restart

MYSQL-СЕРВЕР> = 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-СЕРВЕР <5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

1
Дякую, тут я також запускаю Ubuntu 18.04, і MYSQL-SERVER >= 5.7версія була єдиним, що насправді вирішило проблему
Miguelgraz

1
Це той, який працював в установці Ubuntu 18.04 mysql. MYSQL-SERVER >= 5.7версія, щоб бути точним.
Sathish Manohar

34

Змініть кореневий пароль MySQL.

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

  1. Увійти через інструмент командного рядка mysql:

    mysql -uroot -poldpassword
  2. Виконайте цю команду:

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');

або

  1. Запустіть цю команду, яка встановлює пароль для поточного користувача ('root' для цього випадку):

    SET PASSWORD = ПАРОЛЬ ('newpassword');


26

Спочатку запустіть цю команду:

sudo mysql

а потім слід перевірити, яким методом аутентифікації використовуються ваші облікові записи MySQL. Отже, запустіть цю команду

SELECT user,authentication_string,plugin,host FROM mysql.user;

тепер ви вже можете побачити щось подібне:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

у наведеній вище таблиці ви бачите, що всі ваші акаунти користувачів mysql стану акаунтів, і якщо ви встановили пароль для кореневого облікового запису, перш ніж ви побачите mysql_native_passwordв колонці плагінів auth_socket. Загалом, для зміни вашого кореневого пароля слід запустити:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Не забудьте змінити пароль на міцний пароль на ваш вибір. Потім для перезавантаження вашого сервера для введення нових змін в силу запустіть це;

FLUSH PRIVILEGES;

Тому ще раз перевірте методи аутентифікації, які використовує ваш mysql, за допомогою цієї команди:

SELECT user,authentication_string,plugin,host FROM mysql.user;

і тепер вихід:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

як ви бачите в таблиці грантів, у якій є ваш кореневий обліковий запис mysql_native_password . тепер ви можете вийти з оболонки MYSQL

exit;

Це все. Просто слід перезапустити mysql sudo service mysql restart. Тепер ви можете легко увійти в mysql як кореневий рахунок з паролем.


Я думаю, що це від DigitalOcean, яке було єдиним рішенням, яке працювало для мене на Ubuntu 18.04 під керуванням Virtual Box
Kemal

він прекрасно працює в ubuntu 18.04. Дякую.
mahfuz

12

Якщо ви хочете змінити кореневий пароль MySQL, в терміналі введіть:

sudo dpkg-reconfigure mysql-server-5.5

Демон MySQL буде зупинено, і вам буде запропоновано ввести новий пароль.


1
Це набагато кращий спосіб зробити це. Мені не вдалося запустити попередні команди через деяку помилку mysql ...
Енді,

sudo dpkg-переконфігуруйте mysql-server-5.7 в ubuntu 16.04
Нік Барретт

2
Я біг sudo dpkg-reconfigure mysql-server-5.7на Ubuntu 16.04, він не запропонував ввести новий пароль.
Франк Дернонкур

Якщо сказано mysql-server is broken or not fully installed, можна скористатися sudo apt purge mysql*іsudo apt install mysql-server
Павло

12

Це працює як шарм. Я зробив це для Ubuntu 16.04. Повний кредит на посилання нижче, як я отримав його звідти. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts снимкиpted1]

Зупиніть MySQL

sudo service mysql stop

Складіть каталог служб MySQL. sudo mkdir / var / run / mysqld

Надати користувачеві MySQL дозвіл на запис у службовий каталог.

sudo chown mysql: /var/run/mysqld

Запустіть MySQL вручну, без перевірки дозволів чи встановлення мереж.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Увійдіть без пароля.

mysql -uroot mysql

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

UPDATE mysql.user SET 
authentication_string=PASSWORD('YOURNEWPASSWORD'), 
plugin='mysql_native_password' WHERE User='root';
EXIT;

Вимкніть MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Запускайте сервіс MySQL нормально.

sudo service mysql start

11
  1. Зупиніть MySQL sudo службу mysql стоп

  2. Складіть каталог служб MySQL. sudo mkdir / var / run / mysqld

  3. Надати користувачеві MySQL дозвіл на запис у службовий каталог. sudo chown mysql: / var / run / mysqld

  4. Запустіть MySQL вручну, без перевірки дозволів чи встановлення мереж. sudo mysqld_safe --skip-grant-table --skip-networking &

5.Увійдіть без пароля. mysql -uroot mysql

6.Оновіть пароль для кореневого користувача.

UPDATE mysql.user SET автентифікація_string = PASSWORD ('YOURNEWPASSWORD'), плагін = 'mysql_native_password' WHERE User = 'root' AND Host = '%'; ВИХІД;

  1. Вимкніть MySQL. sudo mysqladmin -S /var/run/mysqld/mysqld.sock вимкнення

  2. Запускайте сервіс MySQL нормально. Служба sudo mysql start


1
Привіт, ця відповідь працює для мене, але мені довелося використовувати іншу команду: UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';без AND Host='%'. Дякую!
Девід Коррал

10

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

sudo mysql -u root

Тоді можна виконати наступну команду.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Деталі доступні тут .


1
Я не зміг увійти до системи, sudo mysql -u rootале я зміг це зробити як sudo mysqlі виконати ALTER USERкоманду.
itsols

Я отримував цю помилку: "Ваш пароль не відповідає поточним вимогам політики". Я зміг це виправити тут: stackoverflow.com/a/43094873/9073437 . Після встановлення модифікованої політики паролів все працювало нормально.
Грандтур

10

Це рішення для мене. Я працюю в Ubuntu 18.04: https://stackoverflow.com/a/46076838/2400373

Але важлива ця зміна на останньому кроці:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; 

Огонь! Дуже дякую! Це єдиний спосіб, який працював у моєму випадку. Забудьте про цей дурний сценарій безпечної установки, оскільки він мій щойно встановлений 5.7 широко відкритий для користувачів, не запитуючи ніколи пароль ... якщо Linux / Ubuntu призначений для користувачів, що не знають про безпеку, чому так важко захистити такий важливий додаток, як MySQL-сервер ?
Томас Урбан

7

Для Ubuntu 18.04 та mysql версії 14.14 Distrib 5.7.22 виконайте наступний крок, щоб скинути пароль mysql.

Крок 1

sudo systemctl stop mysql

Крок 2

sudo systemctl edit mysql

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

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

Крок 3

sudo systemctl daemon-reload
sudo systemctl start mysql

Крок 4

sudo mysql -u root

Крок 5

FLUSH PRIVILEGES;

Крок 6

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

Крок 7

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

Крок 8

sudo systemctl revert mysql

і, нарешті

sudo systemctl restart mysql

Тепер насолоджуйтесь


Я думаю, що ви пропустили вміст на кроці 2. Це незавершено.
Лукас Мендес Мота да Фонсека

6

Відгук коментаря rogerdpack: якщо ви не знаєте кореневого пароля MySQL і не переймаєтесь даними / налаштуваннями MySQL, ви можете встановити його заново та скинути пароль root наступним чином:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

Під час встановлення ви можете вибрати пароль root:

введіть тут опис зображення


2
Я б хотів, щоб я почав тут, а не витрачати годину, стукаючи головою, намагаючись скинути пароль.
Ерік Сійстранд

3

Якщо ви знаєте свій поточний пароль, вам не доведеться зупиняти сервер mysql. Відкрийте термінал ubuntu. Увійдіть до mysql за допомогою:

mysql - username -p

Потім введіть свій пароль. Це переведе вас у консоль mysql. Всередині консолі введіть:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Потім очистіть привілеї за допомогою:

> flush privileges;

Тоді все закінчено.


2

Якщо ви використовуєте MySQL PASSWORD()в системі, де потрібно змінити пароль, це може призвести до появи пароля в журналі MySQL у cleartext [ джерело ]. Зберігаючи їх, їхні резервні копії та ін. Так само безпечно, оскільки пароль звучить для мене як кошмар, тому я люблю це робити так:

  1. На локальній машині запустіть це своїм паролем:

     mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")

    Зверніть увагу на простір перед тим, щоб він не з’явився в історії башів (для інших дистрибутивів, ніж Ubuntu, це може працювати інакше - джерело ).

  2. На серверній машині виконайте таку команду, щоб змінити свій кореневий пароль MySQL (замініть myhashхеш вашого пароля, як надруковано першою командою):

    mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
  3. Необов’язково, будьмо трохи параноїдальні: на локальній машині очистіть екран свого терміналу clearі очистіть прокрутку віртуального термінала, щоб приховати пароль ясного тексту, який відображається в команді вище.


2

Щоб оновити "root" Mysql пароль користувача, ви повинні мати на увазі, що для цього вам будуть потрібні суперкористувацькі дозволи. Якщо у вас є привілеї супер користувача, спробуйте такі команди:

MySQL 5.7.6 та новіших версій

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL 5.7.5 і новіші версії

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass

2

Вам все це не потрібно. Просто увійдіть:

mysql -u root -p

Потім змініть пароль поточного користувача як mysql>підказку:

mysql> set password=password('the_new_password');
mysql> flush privileges;

1
Це найпростіший спосіб! Це працює для мене з mysql 5.7.21-0ubuntu0.17.10.1
Серхіо Белевський

2

Більшість відповідей на цю тему застаріли; до моменту написання цієї відповіді відбулися дві основні зміни в MySQL:

1- поле "Пароль" в таблиці користувачів було замінено стовпцем "authentication_string".

2- функція шифрування "паролем": PASSWORD ("деякого тексту") застаріла.

Перейдіть за цим посиланням для отримання додаткової інформації: dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html


1

Замість скидання пароля на локальній машині є вирішення проблеми, якщо у вас є налаштування phpmyadminпідключення, не вказуючи пароль або ім'я користувача. Перевірте це, запустивши mysqlі apacheт. Д. Я xamppвстановив у своїй локальній машині. Тож запуск xampp запустить усі необхідні послуги. Тепер я покажу http://localhost/phpmyadminмені всі бази даних. Це підтверджує, що ви зберегли ім'я користувача та пароль у конфігураційному файлі phpmyadmin, який можна знайти в місці phpmyadminвстановлення. Якщо ви xamppвстановили phpmyadminпапку, ви можете знайти її в кореневій папці xamppінсталяції. Шукайте слово passwordу config.inc.phpфайлі. Там ви знайдете password і username.


1

Ви можете легко змінити пароль mysql, якщо його розгорнути на xampp через надані phpadmin gui.

phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)

1

для mysql 5.6 ця команда працює, і ви можете встановити пароль через майстра:

sudo dpkg-reconfigure mysql-server-5.6

Я спробував, але це не працює .. Я отримую цю помилку нижче .. Ви можете, будь ласка, допомогти? Ця установка MySQL вже оновлена ​​до 5.7.21, використовуйте --force, якщо вам все-таки потрібно запустити mysql_upgrade
Vijaysinh Parmar

1

Ви можете спробувати виконати наступні дії, щоб скинути пароль root mysql 5.7:

Зупиніть службу Mysql 1-ю

sudo /etc/init.d/mysql stop 

Увійдіть як корінь без пароля sudo mysqld_safe --skip-grant-tables &

Після входу в mysql термінал вам потрібно буде виконати більше команд:

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Після перезавантаження сервера mysql Якщо ви все-таки стикаєтеся з помилкою, вам потрібно відвідати: Скинути MySQL 5.7 root root Ubuntu 16.04


1

Ви можете використовувати цю команду:

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

після цього будь ласка, використовуйте флеш:

FLUSH PRIVILEGES;

1

Встановлення пароля MySQL

  1. зупинити сервіс баз даних MySQL

sudo /etc/init.d/mysql зупинка

  1. створити новий каталог mysqld

sudo mkdir / var / run / mysqld /

  1. надати користувачеві mysql доступ

sudo chown mysql / var / run / mysqld /

  1. запустити MySQL у безпечному режимі ...

sudo mysqld_safe --skip-grant-таблиці &

  1. вхід на сервер бази даних без пароля

sudo mysql -у корінь

  1. використовувати базу даних mysql за замовчуванням

використовувати mysql;

  1. змінити кореневий пароль

update user set authentication_string=PASSWORD("New_Passwore_Here") where User = 'root';

  1. Збережіть зміни

    флеш-пільги; вихід;

  2. зупинити MySQL safe_mode та запустити службу за замовчуванням MySQL

sudo /etc/init.d/mysql зупинка

sudo /etc/init.d/mysql start

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

sudo mysql -u корінь -p

*** Джерело: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/


1

Якщо ви знаєте пароль користувача «root», увійдіть до mysql за допомогою цих облікових даних. Потім виконайте наступний запит, щоб оновити пароль.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

0

під час зміни / скидання пароля MySQL наступні команди, перелічені вище, не допомогли. Я виявив, що заходити в термінал і використовувати ці команди безглуздо. замість цього використовуйте команду sudo зупинити все. СКАЧАТИ СИСТЕМУ 32 для вікон, якщо це допомагає.


1
Питання стосується ubuntuОС, а не Windows. Що ви розумієте під DELETE SYSTEM 32 для Windows ?
EhsanT

0

Щоб скинути або змінити пароль, введіть sudo dpkg-reconfigure mysql-server-X.X(XX - версія mysql, яку ви встановили, тобто 5.6, 5.7), і тоді ви підкажете екран, на якому потрібно встановити новий пароль, а потім на наступному кроці підтвердите пароль і просто зачекайте хвилинку. Це воно.


0

Мені довелося пройти цей маршрут на Ubuntu 16.04.1 LTS. Це дещо поєднання деяких інших відповідей вище, але жодна з них не допомогла. Я витратив годину або більше, намагаючись усі інші пропозиції з веб-сайту MySql про все на SO, я, нарешті, з цим працював:

Примітка: в той час як він показував Введіть пароль для root користувача, у мене не було оригінального пароля, тому я просто ввів той самий пароль для використовуватиметься як новий пароль.

Примітка: не було /var/log/mysqld.log лише /var/log/mysql/error.log

Також зауважте, що це не спрацювало для мене:
sudo dpkg-reconfigure mysql-server-5.7

Також не роби:
sudo dpkg-reconfigure --force mysql-server-5.5

Зробіть каталог служб MySQL.
sudo mkdir /var/run/mysqld

Надати користувачеві MySQL дозвіл на запис у службовий каталог.
sudo chown mysql: /var/run/mysqld

Тоді:

  1. вбити поточний mysqld pid
  2. запустити mysqld за допомогою sudo / usr / sbin / mysqld &
  3. run / usr / bin / mysql_secure_installation

    Виведення з mysql_secure_installation

    root @ myServer: ~ # / usr / bin / mysql_secure_installation

    Забезпечення розгортання сервера MySQL.

    Введіть пароль для кореня користувача:

    ПЛУГІН ВАЛІДАЛЬНОГО ПАРОЛУ можна використовувати для тестування паролів та підвищення безпеки. Він перевіряє міцність пароля і дозволяє користувачам встановлювати лише ті паролі, які є досить безпечними. Хочете встановити плагін VALIDATE PASSWORD?

    Натисніть y | Y для Так, будь-яку іншу клавішу для Ні: ні Використовуючи існуючий пароль для root. Змінити пароль для root? ((Натисніть y | Y для Так, будь-яка інша клавіша для Ні): y

    Новий пароль:

    Повторне введення нового пароля: за замовчуванням установка MySQL має анонімного користувача, що дозволяє кожному входити в MySQL, не створюючи для них облікового запису користувача. Це призначено лише для тестування та для того, щоб зробити установку трохи плавнішою. Ви повинні їх видалити перед переміщенням у виробниче середовище.

    Видалити анонімних користувачів? (Натисніть y | Y для Так, будь-яка інша клавіша для Ні): y Успіх.

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

    Відключити кореневе вхід у систему? (Натисніть y | Y для Так, будь-яка інша клавіша для Ні): y Успіх.

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

    Видалити тестову базу даних та отримати доступ до неї? (Натисніть y | Y для Так, будь-яка інша клавіша для Ні): y

    • Видалення тестової бази даних ... Успіх.

    • Видалення привілеїв на тестовій базі даних ... Успіх.

    Перезавантаження таблиць привілеїв забезпечить негайне внесення всіх досі змін.

    Перезавантажити таблиці привілеїв зараз? (Натисніть y | Y для Так, будь-яка інша клавіша для Ні): y Успіх.

    Готово!

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