2016-04-01 11 views
0

Auf Server mit MariaDB 10.1 hinzufügen Benutzer mit Grant-Berechtigungen, für den Zugriff remotly nicht funktionieren.Maria Db 10.1 Benutzer für den Fernzugriff funktioniert nicht

Schritte.

GRANT ALL PRIVILEGES ON *.* TO 'XXXXXX'@'%' IDENTIFIED BY 'WWWWWWWWW' WITH GRANT OPTION; 
FLUSH PRIVILEGES; 

Überprüfen

SELECT * from information_schema.user_privileges where grantee like "'xxxxxxx'%"; 
+----------------+---------------+-------------------------+--------------+ 
| GRANTEE  | TABLE_CATALOG | PRIVILEGE_TYPE   | IS_GRANTABLE | 
+----------------+---------------+-------------------------+--------------+ 
| 'xxxxxxx'@'%' | def   | SELECT     | YES   | 
| 'xxxxxxx'@'%' | def   | INSERT     | YES   | 
| 'xxxxxxx'@'%' | def   | UPDATE     | YES   | 
| 'xxxxxxx'@'%' | def   | DELETE     | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE     | YES   | 
| 'xxxxxxx'@'%' | def   | DROP     | YES   | 
| 'xxxxxxx'@'%' | def   | RELOAD     | YES   | 
| 'xxxxxxx'@'%' | def   | SHUTDOWN    | YES   | 
| 'xxxxxxx'@'%' | def   | PROCESS     | YES   | 
| 'xxxxxxx'@'%' | def   | FILE     | YES   | 
| 'xxxxxxx'@'%' | def   | REFERENCES    | YES   | 
| 'xxxxxxx'@'%' | def   | INDEX     | YES   | 
| 'xxxxxxx'@'%' | def   | ALTER     | YES   | 
| 'xxxxxxx'@'%' | def   | SHOW DATABASES   | YES   | 
| 'xxxxxxx'@'%' | def   | SUPER     | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE TEMPORARY TABLES | YES   | 
| 'xxxxxxx'@'%' | def   | LOCK TABLES    | YES   | 
| 'xxxxxxx'@'%' | def   | EXECUTE     | YES   | 
| 'xxxxxxx'@'%' | def   | REPLICATION SLAVE  | YES   | 
| 'xxxxxxx'@'%' | def   | REPLICATION CLIENT  | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE VIEW    | YES   | 
| 'xxxxxxx'@'%' | def   | SHOW VIEW    | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE ROUTINE   | YES   | 
| 'xxxxxxx'@'%' | def   | ALTER ROUTINE   | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE USER    | YES   | 
| 'xxxxxxx'@'%' | def   | EVENT     | YES   | 
| 'xxxxxxx'@'%' | def   | TRIGGER     | YES   | 
| 'xxxxxxx'@'%' | def   | CREATE TABLESPACE  | YES   | 
+----------------+---------------+-------------------------+--------------+ 
28 rows in set (0.01 sec) 

Aber wenn ich versuche, den Zugang anderer Form Host

mysql -u xxxxxx -h 178.33.XXX.XXX -p 
Enter password: 
ERROR 1130 (HY000): Host '88.14.189.149' is not allowed to connect to this MariaDB server 

versuchen auch

telnet 178.33.XXX.XXX 3306 
Trying 178.33.XXX.XXX... 
Connected to kvm401.tamainut.net. 
Escape character is '^]'. 
HHost '88.14.189.149' is not allowed to connect to this MariaDB serverConnection closed by foreign host. 

Verification Passwort auf neues Format

MariaDB [(none)]> select User,Host,password from mysql.user where user LIKE '%xxxxx%' ; 
+----------------+--------------------+-------------------------------------------+ 
| User   | Host    | password         | 
+----------------+--------------------+-------------------------------------------+ 
| setdart_xxxxx | domain.tld   | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | kvm401.domain.tld | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX7  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | mysql.domain.tld | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | XX.XXX.XXX.XX  | *E6B7483F265D61567967300758B7872E03110534 | 
| setdart_xxxxx | localhost   | *E6B7483F265D61567967300758B7872E03110534 | 
+----------------+--------------------+-------------------------------------------+ 
13 rows in set (0.00 sec) 

Warum nicht arbeiten?

+0

Das besondere GRANT öffnet die Tür zu einem Hacker. –

+0

Es ist für specifique Ip gewährt, nein für alle IP. Sicherheit ist kein paranoischer Status. – abkrim

Antwort

-2

Sie müssen Ihren Server auch für Remote-Verbindungen konfigurieren (my.conf). Die Standardkonfiguration überspringt das Netzwerk und Sie können sich nur über localhost verbinden. Andernfalls würden Sie auch eine andere Ausnahme wie Zugriff verweigert erhalten, wenn ein Benutzerberechtigungsproblem vorliegt. Wenn Sie nicht wissen, wo Sie Ihre Konfigurationsdatei finden, hat dann einen Blick auf mariadb, weil es auf Ihrem O abhängig.

kommentiert müssen Sie die folgenden Zeilen (mit Raute (#) Zeichen vorangestellt):

[mysqld] 
    ... 
    #skip-networking 
    ... 
    #bind-address = <some ip-address> 

so. okay, du könntest auch die Bind-Adresse auf 0.0.0.0 setzen, wenn du mehrere Interfaces verwenden musst, aber das ist auch der Standard-Tipp bei Mariadb. Danach müssen Sie Ihren Server neu starten und es wird funktionieren.

+0

Das macht keinen Sinn. Wenn der Server nicht für den Remotezugriff konfiguriert ist, wird keine Fehlermeldung über den verweigerten Zugriff angezeigt, da der Server die Remoteadresse überhaupt nicht abhört. – rkosegi

+0

okay, du hast Recht. Dann war ich vielleicht zu schnell und muss die Downvotes akzeptieren :( – Pintus

+0

es gibt leider viele Gründe für diesen Fehler. Also klingt es normalerweise so, als ob du die Privilegien nicht gelöscht hast, aber wir können sehen, dass du das getan hast Ihre mysql.user Tabelle oder es könnte zB auch ein falscher glibc verlinkt sein. Wenn nichts hilft, versuchen Sie auch alle Privilegien zurückzusetzen und neu zu erstellen. Aber schauen Sie sich zuerst die mysql.user Tabelle an wie Ihr root Benutzer konfiguriert ist (nur lokal, auth_plugin) 'shell> mysql --no-defaults -h127.0.0.1 -uroot -p FLUSH PRIVILEGIEN; TRUNCATE mysql.user; GRANT ALL ON * * root @ '%' GEKENNZEICHNET DURCH. 'übergeben' MIT GRANT OPTION; FLUSH PRIVILEGES; ' – Pintus

0

Nach Quelle sql_acl.cc einzige, was überprüft, die in den Sinn kommt, ist zu

FLUSH PRIVILEGES; 
FLUSH HOSTS; 

Dies ist für Fall helfen kann beim Anschluss von Client-IP vor vielen ACL Fehler hatte.

Verwandte Themen