Att återställa root-lösenordet i MySQL & MariaDB är en process som involverar flera steg och kräver administratörsbehörigheter.
Först måste databastjänsten stoppas, varefter den startas upp igen med ett speciellt alternativ som tillåter åtkomst utan lösenord. Användaren måste sedan ansluta till databasen som root och utföra en serie SQL-kommandon för att uppdatera lösenordet.
Slutligen måste databastjänsten stoppas och startas om för att de nya ändringarna ska träda i kraft. Genom att följa dessa noggrant definierade steg kan användaren säkert återställa root-lösenordet och återställa tillgång till sin MariaDB-instans.
För att återställa root-lösenordet på MariaDB, följ dessa steg:
- Stoppa databasservern med kommandot
systemctl stop mariadb
för SystemD eller/etc/init.d/mysqld stop
för SysVinit. - Starta sedan om tjänsten med
--skip-grant-tables
genom att körasystemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
ochsystemctl start mariadb
för SystemD, ellermysqld_safe --skip-grant-tables &
för SysVinit. - Anslut till databasservern som root utan lösenord med kommandot
mysql -u root
. - Använd MariaDB-kommandotolken för att uppdatera lösenordet med:
USE mysql;
UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;
Stoppa tjänsten, avsätt miljövariabeln och starta om tjänsten igen med:
För SystemD:systemctl stop mariadb
systemctl unset-environment MYSQLD_OPTS
systemctl start mariadb
För SysVinit:
/etc/init.d/mysql stop
/etc/init.d/mysql start
En engelsk språkig artikel i ämnet :