ServerPilot konfigurerer MySQL til at administrere databaser på din server. Typisk, når du er logget på SSH som rod bruger, behøver du kun at skrive følgende ved kommandolinjeprompten (SSH) for at få adgang til MySQL:
mysql
Denne kommando vil automatisk henvise til filen, som indeholder MySQL rod brugerens MySQL-adgangskode, så du ikke behøver at indtaste det. Rodadgangskoden til MySQL er indeholdt i denne fil:
/root/.my.cnf
Hvis du af en eller anden grund bliver nødt til at ændre adgangskoden, skal du tage et par skridt. Bemærk venligst, at der er to forskellige processer her:En for en situation, hvor root MySQL-adgangskoden fungerer i øjeblikket, og en for en ikke-fungerende root MySQL-adgangskode.
Bemærk:MySQL-fejlloggen er et godt sted at finde problemer med MySQL, og den er placeret her:
/var/log/mysql/error.logAdvarsel! Vi anbefaler at tage et serverøjebliksbillede, før du udfører opgaver som disse.
Ændring af en fungerende MySQL-rodadgangskode
Dette afsnit dækker ændring af en MySQL root-adgangskode, der virker, hvilket betyder, at du kan logge på MySQL som root bruger ved blot at skrive mysql ved SSH-prompten. Der vil ikke være nogen nedetid for denne proces, hvis disse trin følges.
Log ind på SSH som rod bruger, og log derefter ind på MySQL ved at skrive:
mysql
Ved MySQL-prompten skal du skrive følgende, men erstatte indsæt-dit-nye-adgangskode-her med den faktiske adgangskode, du vil bruge. Du skal efterlade de enkelte anførselstegn omkring det nye kodeord. Noter venligst adgangskoden, da du bliver nødt til at lægge den i en fil i næste trin.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Afslut MySQL ved at skrive:
quit
Dernæst skal du opdatere filen, der indeholder MySQL rod brugerens adgangskode, så du kan SSH ind på din server som root og kør mysql kommando uden at indtaste en adgangskode.
sudo nano /root/.my.cnfFor yderligere oplysninger om brug af nano teksteditor, se venligst vores guide.
Opdater adgangskodefeltet til det nye kodeord, du indtastede ovenfor, gem og afslut teksteditoren.
Til sidst, test for at sikre, at den nye adgangskode virker:
mysql
Alt klar!
Ændring af en mistet eller ikke-fungerende MySQL root-adgangskode
Dette afsnit dækker genvinding af root-adgang til MySQL, når du modtager denne fejl:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)Advarsel! Denne proces vil bringe MySQL offline i en kort periode; det er bedst at udføre dette uden for myldretiden, hvor dine brugere vil være mindst berørt.
Log ind på din server via SSH som rod bruger, og stop MySQL ved at skrive:
sudo service mysql stop
Kør derefter følgende kommando:
sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
Det vil ikke returnere noget output. Start MySQL i en speciel tilstand ved at skrive dette:
sudo mysqld --skip-grant-tables --skip-networking &
Dens output bør ligne nedenfor, selvom det viste tal vil være anderledes:
sudo mysqld --skip-grant-tables --skip-networking & [1] 14744
Du vil derefter blive returneret til standard SSH-prompten. Indtast nu følgende for at logge på MySQL:
mysql
Du bliver ikke bedt om en adgangskode, og den skulle se nogenlunde sådan ud:
~# 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>
Udsted følgende kommando, der giver dig mulighed for at ændre adgangskoden:
FLUSH PRIVILEGES;
Hvilket giver:
Query OK, 0 rows affected (0.00 sec)
Dernæst nulstiller vi den faktiske adgangskode ved at ændre indsæt-dit-nye-adgangskode-her til dit egentlige kodeord. Noter venligst den adgangskode, du har angivet, da vi skal indtaste den i /root/.my.cnf fil, når vi er færdige, og behold venligst også de enkelte anførselstegn omkring det nye kodeord.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Du bør modtage en meddelelse såsom:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Afslut MySQL ved at skrive:
quit
Skriv derefter følgende kommando:
sudo killall mysqld
Ingen output vil blive returneret. Nu starter vi MySQL normalt:
sudo service mysql start
Til sidst, hvis du ændrede adgangskoden væk fra det, der var i /root/.my.cnf , skal du opdatere filen. Hvis du brugte den samme værdi, behøver du ikke udføre dette trin:
sudo nano /root/.my.cnf
Opdater adgangskodefeltet der, gem og afslut teksteditoren.
Du skulle nu være i stand til at logge ind på MySQL som rod bruger ved at skrive følgende kommando:
mysql