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