Probleem: Het MySQL Root-wachtwoord wijzigen in Linux
Het bijwerken van het MySQL root-wachtwoord op een Linux-systeem is belangrijk voor databasebeveiliging. Beheerders moeten dit wachtwoord mogelijk wijzigen om beveiligingsbest practices te volgen of te reageren op mogelijke beveiligingsproblemen. Het proces kan complex zijn voor degenen die nieuw zijn met de command-line interface van MySQL of Linux systeembeheer.
Methoden om het MySQL Root-wachtwoord te wijzigen
Methode 1: De MySQL Command Line gebruiken
Om het MySQL root-wachtwoord te wijzigen met behulp van de command line:
-
Start MySQL in veilige modus:
- Stop de MySQL service:
sudo systemctl stop mysql - Start MySQL zonder toestemmingscontroles:
sudo mysqld_safe --skip-grant-tables &
- Stop de MySQL service:
-
Reset het root-wachtwoord:
- Verbind met MySQL:
mysql -u root - Selecteer de MySQL database:
USE mysql; - Werk het root-wachtwoord bij:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; - Flush privileges:
FLUSH PRIVILEGES; - Verlaat MySQL:
EXIT;
- Verbind met MySQL:
-
Herstart de MySQL service:
- Stop de veilige modus instantie:
sudo killall mysqld - Start MySQL normaal:
sudo systemctl start mysql
- Stop de veilige modus instantie:
Methode 2: Het MySQL configuratiebestand aanpassen
Om het root-wachtwoord te wijzigen door de MySQL configuratie te bewerken:
-
Zoek en bewerk het my.cnf bestand:
- Zoek het bestand:
sudo find /etc -name my.cnf - Bewerk het bestand:
sudo nano /etc/mysql/my.cnf
- Zoek het bestand:
-
Voeg de skip-grant-tables optie toe:
- Onder de [mysqld] sectie, voeg toe:
skip-grant-tables
- Onder de [mysqld] sectie, voeg toe:
-
Herstart MySQL en werk het wachtwoord bij:
- Herstart MySQL:
sudo systemctl restart mysql - Verbind met MySQL:
mysql -u root - Werk het wachtwoord bij:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; - Flush privileges:
FLUSH PRIVILEGES; - Verwijder de skip-grant-tables optie uit my.cnf
- Herstart MySQL opnieuw:
sudo systemctl restart mysql
- Herstart MySQL:
Methode 3: De mysqladmin Tool gebruiken
De mysqladmin tool biedt een eenvoudige manier om het MySQL root-wachtwoord te wijzigen:
-
Syntax voor het wijzigen van het wachtwoord met mysqladmin:
mysqladmin -u root -p'old_password' password 'new_password' -
Voorbeelden van het gebruik van het mysqladmin commando:
- Wijzig het wachtwoord wanneer het huidige wachtwoord bekend is:
mysqladmin -u root -p'current_password' password 'new_password' - Wijzig het wachtwoord zonder huidig wachtwoord (indien niet ingesteld):
mysqladmin -u root password 'new_password'
- Wijzig het wachtwoord wanneer het huidige wachtwoord bekend is:
Vervang 'old_password', 'current_password' en 'new_password' door je daadwerkelijke wachtwoorden.
Het nieuwe MySQL Root-wachtwoord verifiëren
Nadat je je MySQL root-wachtwoord hebt gewijzigd, moet je controleren of het nieuwe wachtwoord werkt. Hier is hoe je dat doet:
Inloggen met het nieuwe wachtwoord:
- Open je terminal of command prompt.
- Gebruik dit commando om in te loggen op MySQL:
mysql -u root -p - Voer je nieuwe wachtwoord in wanneer gevraagd.
- Als je inlogt, zie je de MySQL prompt.
Databasetoegang testen:
- Eenmaal ingelogd, probeer toegang te krijgen tot een database:
SHOW DATABASES; - Dit commando zou een lijst van databases moeten tonen.
- Probeer een nieuwe database te maken:
CREATE DATABASE test_db; - Als het werkt, zie je een bericht dat de databasecreatie bevestigt.
- Je kunt dan de testdatabase verwijderen:
DROP DATABASE test_db;
Als je deze acties zonder fouten kunt uitvoeren, betekent dit dat je nieuwe root-wachtwoord werkt en je je MySQL server kunt beheren.
Veelvoorkomende problemen oplossen
Vergeten Root-wachtwoord
Als je je MySQL root-wachtwoord bent vergeten, kun je het resetten door deze stappen te volgen:
-
Stop de MySQL service:
sudo systemctl stop mysql -
Start MySQL in veilige modus:
sudo mysqld_safe --skip-grant-tables & -
Verbind met MySQL zonder een wachtwoord:
mysql -u root -
Selecteer de MySQL database:
USE mysql; -
Reset het root-wachtwoord:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; -
Pas de wijzigingen toe:
FLUSH PRIVILEGES; -
Verlaat MySQL:
EXIT; -
Stop de veilige modus instantie:
sudo killall mysqld -
Herstart MySQL:
sudo systemctl start mysql
Vervang 'new_password' door je nieuwe wachtwoord.
Toestemming Geweigerd Fouten
Als je toestemming geweigerd fouten krijgt na het wijzigen van je wachtwoord, probeer deze oplossingen:
-
Controleer je MySQL gebruikersprivileges:
- Log in op MySQL als root
- Voer uit:
SHOW GRANTS FOR 'your_username'@'localhost'; - Zorg ervoor dat je de benodigde rechten hebt
-
Werk gebruikersprivileges bij indien nodig:
- Gebruik:
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'localhost'; - Daarna:
FLUSH PRIVILEGES;
- Gebruik:
-
Controleer het MySQL configuratiebestand:
- Bekijk /etc/mysql/my.cnf of /etc/my.cnf
- Zorg ervoor dat er geen conflicterende instellingen zijn
-
Herstart de MySQL service:
sudo systemctl restart mysql -
Controleer systeembestandsrechten:
- Verifieer dat de rechten van de MySQL data directory correct zijn
- Meestal:
chown -R mysql:mysql /var/lib/mysql
Als problemen aanhouden, bekijk dan de MySQL foutlogs voor meer informatie.





