sql >> Database >  >> RDS >> Mysql

Hoe het MySQL Root-gebruikerswachtwoord opnieuw in te stellen

ServerPilot configureert MySQL om databases op uw server te beheren. Meestal, wanneer ingelogd op SSH als de root gebruiker, hoeft u alleen het volgende te typen op de opdrachtregel (SSH) om toegang te krijgen tot MySQL:

mysql

Deze opdracht verwijst automatisch naar het bestand dat de MySQL root . bevat het MySQL-wachtwoord van de gebruiker, zodat u het niet hoeft in te voeren. Het root-wachtwoord voor MySQL staat in dit bestand:

/root/.my.cnf

Mocht u dat wachtwoord om welke reden dan ook moeten wijzigen, dan moeten enkele stappen worden ondernomen. Houd er rekening mee dat er hier twee verschillende processen zijn:een voor een situatie waarin het root MySQL-wachtwoord momenteel werkt, en een voor een niet-werkend root MySQL-wachtwoord.

Opmerking:het MySQL-foutlogboek is een goede plek om problemen met MySQL op te sporen en bevindt zich hier:

/var/log/mysql/error.log
Waarschuwing! We raden u aan een server-snapshot te maken voordat u dergelijke taken uitvoert.

Een werkend MySQL-rootwachtwoord wijzigen

Dit gedeelte behandelt het wijzigen van een MySQL-rootwachtwoord dat werkt, wat betekent dat u zich kunt aanmelden bij MySQL als de root gebruiker door simpelweg mysql . te typen bij de SSH-prompt. Er is geen uitvaltijd voor dit proces als deze stappen worden gevolgd.

Log in op SSH als de root gebruiker en log vervolgens in op MySQL door te typen:

mysql

Typ het volgende achter de MySQL-prompt, maar vervang put-your-new-password-here met het daadwerkelijke wachtwoord dat u wilt gebruiken. U moet wel de enkele aanhalingstekens rond het nieuwe wachtwoord laten staan. Noteer het wachtwoord, aangezien u het in de volgende stap in een bestand moet zetten.

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

Sluit MySQL af door te typen:

quit

Vervolgens moet u het bestand bijwerken dat de MySQL root . bevat gebruikerswachtwoord zodat u als root naar uw server kunt SSH-en en voer de mysql . uit commando zonder een wachtwoord te typen.

sudo nano /root/.my.cnf
Voor meer informatie over het gebruik van de nano teksteditor, raadpleeg onze gids.

Werk het wachtwoordveld bij naar het nieuwe wachtwoord dat u hierboven hebt ingevoerd, sla op en sluit de teksteditor af.

Test ten slotte om te controleren of het nieuwe wachtwoord werkt:

mysql

Helemaal klaar!

Een verloren of niet-werkend MySQL-hoofdwachtwoord wijzigen

Deze sectie behandelt het herwinnen van root-toegang tot MySQL bij het ontvangen van deze fout:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Waarschuwing! Dit proces zal MySQL voor een korte periode offline halen; het is het beste om dit tijdens de daluren uit te voeren, wanneer uw gebruikers het minst worden beïnvloed.

Log in op uw server via SSH als de root gebruiker en stop MySQL door te typen:

sudo service mysql stop

Voer vervolgens de volgende opdracht uit:

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

Het zal geen output teruggeven. Start MySQL in een speciale modus door dit te typen:

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

De uitvoer zou vergelijkbaar moeten zijn met hieronder, hoewel het weergegeven nummer anders zal zijn:

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

U keert dan terug naar de standaard SSH-prompt. Typ nu het volgende om in te loggen op MySQL:

mysql

U wordt niet om een ​​wachtwoord gevraagd en het zou er ongeveer zo uit moeten zien:

~# 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>

Voer de volgende opdracht uit waarmee u het wachtwoord kunt wijzigen:

FLUSH PRIVILEGES;

Wat oplevert:

Query OK, 0 rows affected (0.00 sec)

Vervolgens stellen we het daadwerkelijke wachtwoord opnieuw in door plaats-uw-nieuw-wachtwoord-hier te wijzigen naar uw werkelijke wachtwoord. Noteer het wachtwoord dat u instelt, aangezien we dit moeten invoeren in de /root/.my.cnf bestand als we klaar zijn, en bewaar ook de enkele aanhalingstekens rond het nieuwe wachtwoord.

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

U zou een melding moeten ontvangen zoals:

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

Sluit MySQL af door te typen:

quit

Typ vervolgens de volgende opdracht:

sudo killall mysqld

Er wordt geen uitvoer geretourneerd. Nu starten we MySQL normaal:

sudo service mysql start

Ten slotte, als u het wachtwoord heeft gewijzigd van wat in /root/.my.cnf stond , moet u dat bestand bijwerken. Als u dezelfde waarde heeft gebruikt, hoeft u deze stap niet uit te voeren:

sudo nano /root/.my.cnf

Werk daar het wachtwoordveld bij, sla het op en sluit de teksteditor af.

U zou zich nu met succes moeten kunnen aanmelden bij MySQL als de root gebruiker door het volgende commando te typen:

mysql

  1. ORA-00257:archieffout. Sluit alleen intern aan, totdat het wordt vrijgemaakt.

  2. Hoe een onbeperkt aantal tekens opslaan in Oracle 11g?

  3. Elimineer en verminder overlappende perioden

  4. De meest elegante manier om permutaties in SQL-server te genereren