Puncte:1

Accesul mariaDB 10.5.12 a fost interzis pentru [email protected]

drapel ca
mpr

instalarea proaspătă a mariaDB 10.5.12 pe debian 11 a fost consolidată cu scriptul „mysql_secure_installation”, la întrebarea „Switch to unix_socket authentication [Y/n]” a fost răspuns cu „da”.

Acum, mariaDB permite rădăcină locală să se conecteze atunci când gazda este egală cu „localhost”:

mysql --host=localhost
Bun venit la monitorul MariaDB. Comenzile se termină cu ; sau \g.
Id-ul dvs. de conexiune MariaDB este 40
Versiunea serverului: 10.5.12-MariaDB-0+deb11u1-log Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab și alții.

Tastați „help;” sau „\h” pentru ajutor. Tastați „\c” pentru a șterge instrucțiunea de intrare curentă.

MariaDB [(niciunul)]>

dar respinge când a fost folosită adresa IP:

mysql --host=127.0.0.1
EROARE 1698 (28000): Acces interzis pentru utilizatorul „rădăcină” @ „127.0.0.1”

după unele duckducking au fost efectuate următoarele modificări în baza de date:

CREATE USER 'root'@'::1' IDENTIFICAT VIA unix_socket;
ACORDAȚI TOATE PRIVILEGIILE PE *.* PENTRU „rădăcină”@’::1” CU OPȚIUNEA DE ACCORDARE;
CREATE USER 'root'@'127.0.0.1' IDENTIFICAT VIA unix_socket;
ACORDAȚI TOATE PRIVILEGIILE PE *.* CĂTRE „ROOT”@'127.0.0.1” CU OPȚIUNEA DE GRANT;
privilegii de golire;

Parametrul „skip-name-resolve” nu este prezent în configurația serverului:

afișează variabile precum „%skip_name%”;
+-------------------+-------+
| Nume_variabilă | Valoare |
+-------------------+-------+
| skip_name_resolve | OFF |
+-------------------+-------+

conturile root relevante sunt acum:

MariaDB [mysql]> selectează utilizatorul, parola, gazda, pluginul de la utilizator unde user='root';
+------+----------+-----------+-------------+
| Utilizator | Parola | Gazdă | plugin |
+------+----------+-----------+-------------+
| rădăcină | | localhost | unix_socket |
| rădăcină | | ::1 | unix_socket |
| rădăcină | | 127.0.0.1 | unix_socket |
+------+----------+-----------+-------------+

Din anumite motive, root-ului local i se permite să acceseze „localhost”, dar nu să acceseze baza de date nici atunci când se conectează prin „127.0.0.1”, nici când se conectează prin „::1”.

De ce ?

Puncte:1
drapel ar

Pe scurt gazdă locală este tratat ca utilizați priza. Acest răspuns pe StackOverflow explică:

Serverul MariaDB (de asemenea MySQL) tratează localhost într-un mod special. În cazul în care alt software îl tratează ca pe un alias al adresei de loopback 127.0.0.1, MariaDB îl va interpreta ca o conexiune socket de domeniu UNIX la server. În mod implicit, acest fișier socket este localizat în /var/lib/mysql/mysql.sock.

Deoarece nu vă conectați prin priză atunci când utilizați 127.0.0.1, autentificarea prin socket nu funcționează. Trebuie fie să folosești gazdă locală sau --socket=/cale/la/socket.

drapel ca
mpr
lămuritor, mulțumesc pentru explicația de mai sus. Dar ... „EROARE 2002 (HY000): Nu se poate conecta la serverul MySQL pe „127.0.0.1” (115)” persistă la bootstrap-ul primului nod din clusterul galera, așa că... trebuie să modific „galera_new_cluster” pentru a o rezolva?
vidarlo avatar
drapel ar
Spuneți galerei să se conecteze prin socket sau reconfigurați MySQL pentru a fi în concordanță cu modul în care intenționați să îl utilizați.
vidarlo avatar
drapel ar
Ca o notă laterală, *întreaba* despre ce vrei să obții, nu cum crezi că o vei realiza](https://xyproblem.info/). Scopul dvs. a fost să conectați Galera la MySQL. Dar ați întrebat de ce `localhost` a fost tratat diferit de `127.0.0.1` - așa că ați primit un răspuns, care nu v-a ajutat cu adevărat să vă rezolvați problema *actuală*.
drapel ca
mpr
Da: de acord cu tine, @vidarlo. În momentul creării întrebării, înțeleg eu o eroare sau o configurație greșită. S-a dovedit că manipularea diferită a localhost și 127.0.0.1 este caracteristica maria/mysql, așa că este nevoie de o soluție.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.