Fórumok
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?
Hozzászólások
Nem az unix socket hitelesit es azert enged be "latszolag" jelszo nelkul?
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.
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?
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."
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...
Igen, megvolt. volt szerver újraindítás is (restart), ami tudtommal szintén fflush-öli a privilégiumokat.
select user, plugin, is_role, default_role from mysql.user
neked aztan fura humorod van...
Gondolom, a select végén a where user="root" nem árt. Itt a kimenete:
a plugint modositsd mysql_native_password-ra
neked aztan fura humorod van...
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:
ERROR 1064
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).
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password'); ?
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
pch
SB-soft online ügyviteli rendszer
Köszönöm, végül félig megoldottam a dolgot az
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?