sql >> Database >  >> RDS >> Mysql

MYSql config bind-adres ingesteld op 0.0.0.0 maar netstat toont anders op Ubuntu

het bindadres naar 0.0.0.0 is slechts een deel van de stappen om het mogelijk te maken om externe verbindingen te accepteren. Die stappen omvatten het expliciet verwijderen met # skip-networking

[mysqld]
bind-address    = 0.0.0.0
# skip-networking

En een server herstart.

Je hebt dan een gebruiker-hostcombinatie nodig om in te loggen en idealiter een GRANT naar een db om te gebruiken met voldoende (niet buitensporige) rechten.

U kunt uw huidige gebruikers zien met select user,host from mysql.user

Zie de MySQL-handleidingpagina op GRANT-syntaxis .

Ik schreef een klein antwoord Hier over het jokerteken % host en andere kleine details.

Een illustratie voor een test staat hieronder:

create schema testDB007;
use testDB007;

create table t1
(   id int not null
);

CREATE USER 'jeffrey123z'@'%' IDENTIFIED BY 'mypass123^';
-- note password is mypass123^

GRANT ALL ON testDB007.* TO 'jeffrey123z'@'%';
SHOW GRANTS FOR 'jeffrey123z'@'%';

Nu betekent de blauwe rij hierboven (GEBRUIK) bijna niets anders dan dat de gebruiker kan inloggen en dat is het dan. De 2e rij toont de PRIVILEGES voor de db van de GRANT cmd.

Bekijk gebruiker in mysql.user :

Wat betreft de bovenstaande foto,

select user,host,password from mysql.user where user='jeffrey123z';

select user,host,authentication_string from mysql.user where user='jeffrey123z';

De eerste vraag hierboven is voor MySQL 5.7. De tweede vraag is voor 5.7 en later. Het wachtwoord is gehasht. De host is het jokerteken % wat betekent inloggen vanaf elke host.



  1. reverse-engineering mysql-database om de django-app te maken

  2. Hoe zoek ik naar rijen die een subtekenreeks bevatten?

  3. MySQL UITLEG:Index gebruiken versus indexvoorwaarde gebruiken

  4. Live migraties met MySQL-replicatie