Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да нулирате паролата на коренния потребител на MySQL

ServerPilot конфигурира MySQL да управлява бази данни на вашия сървър. Обикновено, когато сте влезли в SSH като root потребител, ще трябва само да въведете следното в подканата на командния ред (SSH), за да получите достъп до MySQL:

mysql

Тази команда автоматично ще препраща към файла, който съдържа MySQL root паролата за MySQL на потребителя, така че не е нужно да я въвеждате. Роут паролата за MySQL се съдържа в този файл:

/root/.my.cnf

Ако трябва да промените тази парола по някаква причина, трябва да направите няколко стъпки. Моля, имайте предвид, че тук има два различни процеса:един за ситуация, в която в момента работи root MySQL паролата, и един за неработеща root MySQL парола.

Забележка:Регистърът за грешки в MySQL е добро място за намиране на проблеми с MySQL и се намира тук:

/var/log/mysql/error.log
Внимание! Препоръчваме да направите моментна снимка на сървъра, преди да изпълнявате задачи като тези.

Промяна на работеща MySQL Root парола

Този раздел обхваща промяната на парола за root на MySQL, която работи, което означава, че можете да влезете в MySQL като root потребител, като просто напишете mysql в подканата на SSH. Няма да има престой за този процес, ако се следват тези стъпки.

Влезте в SSH като root потребител, след което влезте в MySQL, като напишете:

mysql

В подканата на MySQL въведете следното, но заменете тук поставите-новата-парола с действителната парола, която искате да използвате. Трябва да оставите единичните кавички около новата парола. Моля, запишете си паролата, тъй като ще трябва да я поставите във файл в следващата стъпка.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Излезте от MySQL, като напишете:

quit

След това ще трябва да актуализирате файла, който съдържа MySQL root потребителска парола, за да можете да влезете чрез SSH в сървъра си като root и стартирайте mysql команда без въвеждане на парола.

sudo nano /root/.my.cnf
За допълнителна информация относно използването на nano текстов редактор, моля, вижте нашето ръководство.

Актуализирайте полето за парола до новата парола, която сте въвели по-горе, запазете и излезте от текстовия редактор.

И накрая, тествайте, за да се уверите, че новата парола работи:

mysql

Готово!

Промяна на изгубена или неработеща парола за MySQL Root

Този раздел обхваща възстановяването на root достъп до MySQL при получаване на тази грешка:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Внимание! Този процес ще отведе MySQL офлайн за кратък период от време; най-добре е да правите това в непиковите часове, когато потребителите ви ще бъдат най-малко засегнати.

Влезте в сървъра си чрез SSH като root потребител и спрете MySQL, като напишете:

sudo service mysql stop

След това изпълнете следната команда:

sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

Той няма да върне никакъв изход. Стартирайте MySQL в специален режим, като напишете това:

sudo mysqld --skip-grant-tables --skip-networking &

Резултатът му трябва да бъде подобен на този по-долу, въпреки че показаният номер ще бъде различен:

sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

След това ще бъдете върнати към стандартната SSH подкана. Сега въведете следното, за да влезете в MySQL:

mysql

Няма да бъдете подканени за парола и тя трябва да изглежда така:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, 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>

Издайте следната команда, която ще ви позволи да промените паролата:

FLUSH PRIVILEGES;

Което дава:

Query OK, 0 rows affected (0.00 sec)

След това нулираме действителната парола, като променим тук поставите-новата си-парола към действителната си парола. Моля, отбележете паролата, която сте задали, тъй като ще трябва да я въведем в /root/.my.cnf файл, когато приключим, и моля, запазете и единичните кавички около новата парола.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Трябва да получите известие като:

Query OK, 0 rows affected, 1 warning (0.00 sec)

Излезте от MySQL, като напишете:

quit

След това въведете следната команда:

sudo killall mysqld

Няма да бъде върнат изход. Сега стартираме MySQL нормално:

sudo service mysql start

И накрая, ако сте променили паролата от това, което беше в /root/.my.cnf , ще трябва да актуализирате този файл. Ако сте използвали същата стойност, не е необходимо да изпълнявате тази стъпка:

sudo nano /root/.my.cnf

Актуализирайте полето за парола там, след което запазете и излезте от текстовия редактор.

Вече трябва да можете да влезете успешно в MySQL като root потребител, като напишете следната команда:

mysql

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Може ли приложение за Android да се свърже директно с онлайн база данни на mysql

  2. Как да конвертирате цял набор от символи и съпоставяне на MySQL база данни в UTF-8?

  3. php код за тестване на pdo е наличен?

  4. Как да мигрираме от Oracle към MySQL / Percona Server

  5. MySQL проверява дали съществува таблица, без да хвърля изключение