sql >> Database teknologi >  >> RDS >> Mysql

Hvordan forbinder man mysql workbench til at køre mysql inde i docker?

Som standard efter implementering har MySQL følgende forbindelsesbegrænsninger:

mysql> select host, user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | healthchecker |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
4 rows in set (0.00 sec)

Tilsyneladende vil du af sikkerhedsmæssige årsager ikke være i stand til at oprette forbindelse til den uden for docker-billedet. Hvis du har brug for at ændre det for at tillade root at oprette forbindelse fra enhver vært (f.eks. til udviklingsformål), skal du gøre:

  1. Start dit mysql-billede med alle nødvendige portmappinger:

    docker run -p 3306:3306 --name=mysql57 -d mysql/mysql-server:5.7

eller, hvis den komplette porttilknytning er påkrævet:

docker run -p 3306:3306 -p 33060:33060 --name=mysql57 -d mysql/mysql-server:5.7
  1. Hvis dette er den nye installation - tag fat i standardadgangskoden:

    docker logs mysql57 2>&1 | grep GENERATED

  2. Opret forbindelse ved hjælp af mysql klient direkte til mysqld i docker:

    docker exec -it mysql57 mysql -uroot -p

  3. Hvis dette er den nye installation, bliver du bedt om at ændre adgangskoden ved at bruge ALTER USER kommando. Gør det.

  4. Kør SQL:

    update mysql.user set host = '%' where user='root';

  5. Afslut mysql klient.

  6. Genstart beholderen:

    docker restart mysql57

Nu vil du være i stand til at oprette forbindelse fra MySQL Workbench til

host: `0.0.0.0` 
port: `3306`

Efter alle ændringerne vil forespørgslen vise:

select host, user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | healthchecker |
| localhost | mysql.session |
| localhost | mysql.sys     |
+-----------+---------------+


  1. hvordan man finder alle indekser og deres kolonner for tabeller, visninger og synonymer i Oracle

  2. Sådan fungerer logins på sammenkædede servere (T-SQL-eksempler)

  3. MySQL-syntaks til Join Update

  4. SUM() Funktion i SQL Server