Copyright ©2003.-2017. CARNet. Sva prava pridržana.
Mail to portal-team(at)CARNet.hr
Nedavno smo na helpdesku pomogli korisniku koji je zaboravio administratorsku (root@localhost) lozinku za MySQL. Rješenje problema je da se MySQL pokrene bez tzv. GRANT tablica, odnosno da se zaobiđu tablice s dozvolama. To se radi opcijom --skip-grant-tables.
Prvo zaustavimo MySQL:
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld
Zatim ga dignemo bez GRANT tablica, slijedećom naredbom:
# mysqld_safe --skip-grant-tables --skip-networking &
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[7754]: started
Sada možemo pristupiti MySQL poslužitelju bez autentikacije, te izvršimo naredbe:
mysql -e "UPDATE mysql.user SET Password = PASSWORD('novipassword')
WHERE User = 'root'"
mysql -e "FLUSH PRIVILEGES;"
Za novije inačice MySQL-a (5.7.6+) i MariaDB-a (10.1.20+) rabi se naredba ALTER USER
:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'novipassword';
FLUSH PRIVILEGES;
Napomena: Ako naredba 'ALTER USER' ne radi, vjerovatno se radi o nekom većem problemu. U svakom slučaju, još možete probati upotrijebiti narebu "UPDATE ... SET":
UPDATE mysql.user SET authentication_string = PASSWORD('novipassword') WHERE User='root' AND Host='localhost';
Još nam ostaje restart MySQL-a:
# /etc/init.d/mysql restart
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[8310]: ended
Starting MySQL database server: mysqld.
Checking for crashed MySQL tables in the background.
Za novije Debiane naravno, rabit ćemo naredbu systemctl:
# systemctl restart mariadb
Provjerimo da li je sve u redu:
mysql -e "select now();" -p
Enter password:
+---------------------+
| now() |
+---------------------+
| 2006-01-27 19:37:09 |
+---------------------+
I to je to!
Links
[1] https://sysportal.carnet.hr./sysportallogin
[2] https://sysportal.carnet.hr./taxonomy/term/22
[3] https://sysportal.carnet.hr./taxonomy/term/28
[4] https://sysportal.carnet.hr./taxonomy/term/373
[5] https://sysportal.carnet.hr./taxonomy/term/374
[6] https://sysportal.carnet.hr./taxonomy/term/375