mysql user connect

Fórumok

hello

valami miatt, számomra érthetetlen okból nem tudok csatlakozni a mysql-hez.
a root user csatalkozik azzal nincs baj.

a gond az általam készített user-el van.

ezt csináltam:


CREATE USER proba IDENTIFIED BY 'password(qwe123)';
GRANT ALL PRIVILEGES ON testdb TO proba IDENTIFIED BY 'password(qwe123)';

mysql> show grants for proba;
+------------------------------------------------------------------------------------------------------+
| Grants for proba@% |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'proba'@'%' IDENTIFIED BY PASSWORD '*91DD344B3390C519CBEB911C7C55245071BDEEF2' |
| GRANT ALL PRIVILEGES ON `mysql`.`testdb` TO 'proba'@'%' |
+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testdb |
+--------------------

és ez az eredmény:

lenovo ~]$ mysql -h localhost -u proba -p testdb
Enter password:
ERROR 1045 (28000): Access denied for user 'proba'@'localhost' (using password: YES)

A jelszó promtnál a qwe123 jelszót írom be és nem a hashelt részt. Próbáltam már a hashelt részt is de szintén zenész.....

esetleg ötlete van valakinek? én már kifogytam.....

Hozzászólások

Én is találkoztam ezzel a problémával, és azóta se tudom mi a megoldás, de bevallom, nem is igazán zavart :D

mysql --version
mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (x86_64) using readline 6.1

mysql -h localhost -u proba -pqwe123
-------------------------
neut @ présház

grant all privileges on mysql.testdb to 'proba'@'localhost';
flush privileges;

es meg mindig ugyan az.....

mysql -h localhost -u proba -p mysql.testdb
vagy
mysql -h localhost -u proba -p testdb

ERROR 1045 (28000): Access denied for user 'proba'@'localhost' (using password: YES)

--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

"IDENTIFIED BY 'password(qwe123)';"
Ide miért kell password()?

Csak simán így: GRANT ALL PRIVILEGES ON testdb.* TO proba@'%' IDENTIFIED BY 'qwe123';

hja és végén: FLUSH PRIVILEGES;

mysql> grant all privileges on testdb.* to foo@'%' identified by 'qwe123';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for foo;
+----------------------------------------------------------------------------------------------------+
| Grants for foo@% |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'foo'@'%' IDENTIFIED BY PASSWORD '*8DCDD69CE7D121DE8013062AEAEB2A148910D50E' |
| GRANT ALL PRIVILEGES ON `testdb`.* TO 'foo'@'%' |
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

ugyan az az eredmény.
lenovo ~]$ mysql -h localhost -u foo -p testdb
Enter password:
ERROR 1045 (28000): Access denied for user 'foo'@'localhost' (using password: YES)

egyébként azért hogy ne clear textben tárolja a jelszót.
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Mint látszik nem clear textben tárolja a jelszót. Ahogy elöbb csináltad ott a password() nem függvényhívás volt hanem simán szövegként a jelszó része.
Valószinüleg van egy ''@localhost usered. És arra match-csel. Bővebben: http://stackoverflow.com/questions/10299148/mysql-error-1045-28000-acce…

ha 'user'@'localhost' modon csatlakozol, akkor socket-en keresztul probal meg bemenni (/var/lib/mysql/mysql.sock a default). Ha 'user'@'127.0.0.1', akkor TCP/IP-n keresztul. Ez valahogy igy mukodik alapbol - es nem mellesleg, sok 3rd party cucc hasznalja is.

Tehat, ha nincs engedelyezve a mysql unix socketen keresztuli elerese, akkor csak az IP alapu lenne celravezeto.

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Igen, viszont ha csak 127.0.0.1-re van bindelve, akkor nem lehet '%' domaines userrel belépni sem socketen, sem tcp-n. Erre utaltam avval, hogy 127.0.0.1-et hiába hívja.

De hogy egyszerűbb legyen: localhostra bindelt mysql csak @'localhost' domainben lévő userrel használható.
--
PtY - www.onlinedemo.hu

A my.cnf-ben elvileg van egy ilyen sor:
bind-address = 127.0.0.1

A /etc/hosts-ban pedig kell lennie egy ilyen sornak:
127.0.0.1 localhost

-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"