Egy mariaDb 10.1.48 szerver root jelszavát szeretném módosítani, de semmilyen leírt módon nem sikerül.
A dokumentáció szerinti
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
parancsot visszadobja a következő hibaüzenettel:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USER 'root'@'localhost' IDENTIFIED BY 'newpassword'' at line 1
Ha a mysql.user táblában írom felül a password mező értékét, az is hatástalan. Továbbra is jelszó nélkül engedi a hozzáférést. Próbáltam a mysqld_safe-et is, --skip-grant-tables paraméterrel, de ez sem segített.
Mi a megfelelő módja a root password beállításának MariaDb alatt?
- 457 megtekintés
Hozzászólások
Nem az unix socket hitelesit es azert enged be "latszolag" jelszo nelkul?
- A hozzászóláshoz be kell jelentkezni
Pontosan ugyan nem értem, hogy mit jelent, ha a unix socket hitelesít, de tetszőleges mysql kliens is jelszó nélkül tud csatlakozni root felhasználónévvel, tehát szerintem nem.
- A hozzászóláshoz be kell jelentkezni
Közben próbálok ennek is utánaolvasni, és ezek szerint lehet, hogy mégiscsak socket hitelesítést használ a root. Ezek szerint arra nem lehet jelszót megadni?
- A hozzászóláshoz be kell jelentkezni
Az nem mindegy hogy localhost-ra vagy 127.0.0.1-re csatlakozol a mysql klienssel. Ha jól emlékszem a localhost-nál a socketet használja.
"Everything fails, all the time."
- A hozzászóláshoz be kell jelentkezni
miutan a tablaban beallitottad ujratoltotted?
# mysqladmin --help | grep grant
flush-privileges Reload grant tables (same as reload)
reload Reload grant tables
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Igen, megvolt. volt szerver újraindítás is (restart), ami tudtommal szintén fflush-öli a privilégiumokat.
- A hozzászóláshoz be kell jelentkezni
select user, plugin, is_role, default_role from mysql.user
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Gondolom, a select végén a where user="root" nem árt. Itt a kimenete:
user plugin is_role default_role
root unix_socket N
- A hozzászóláshoz be kell jelentkezni
a plugint modositsd mysql_native_password-ra
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Gondolom ezen már túl vagy:
https://mariadb.com/kb/en/authentication-from-mariadb-10-4/
Ebből adódóan inkább a mysql.global_priv táblát használd mjad a rá mutató view helyett a későbbiekben (jobb hozzászokni az újdonságokhoz)
így ezen is:
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("verysecret")
- A hozzászóláshoz be kell jelentkezni
ERROR 1064
- A hozzászóláshoz be kell jelentkezni
Mea culpa bocs: vak vagyok, írtad is, hogy mariaDb 10.1.48.
safe + skipgrant után root-ként
update (közben pch megírta).
- A hozzászóláshoz be kell jelentkezni
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password'); ?
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
- A hozzászóláshoz be kell jelentkezni
Köszönöm, végül félig megoldottam a dolgot az
update mysql.user set plugin='' where user='root';
sql paranccsal.
Azért nem értem. Ha a socket hitelesítés arra való, hogy a socket-en keresztül be tudja azonosítani a user-t, akkor socket hitelesítéssel miért volt képes egy php-fpm user, aki határozottan nem root, mégis használni a root hozzáférést?
- A hozzászóláshoz be kell jelentkezni