MariaDB в Docker Linux имеют две разные версии между внешним / внутренним IP - PullRequest
0 голосов
/ 20 ноября 2018
  1. Я запустил MariaDB как Docker - выставил порт 3306 на локальный хост: 3307

enter image description here

  1. Подключение базы данных через локальный хост: 3307

    
    $ mysql -u tvgift -P 3307 -h localhost -p
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    +--------------------+
    1 row in set (0.00 sec)
    
  2. Подключить базу данных через 172.18.0.2:3306 (IP-адрес, полученный от $ docker inspect <docker ID>

    
    $ mysql -u tvgift -P 3306 -h 172.18.0.2 -p
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | tvgift             |
    +--------------------+
    2 rows in set (0.00 sec)
    
  3. Я попробовал другой клиент (использующий mycli) с обоими IP, результат одинаковый.

    
    $ mycli mysql://tvgift:tvgift@localhost:3307/tvgift
    mariadb tvgift@localhost:tvgift> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | tvgift             |
    +--------------------+
    2 rows in set
    Time: 0.013s
    
    $ mycli mysql://tvgift:tvgift@172.18.0.2:3306/tvgift
    mariadb tvgift@172.18.0.2:tvgift> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | tvgift             |
    +--------------------+
    2 rows in set
    Time: 0.013s
    

Итак, только два клиента mysql отличаются между двумя IP-адресами одной службы контейнеров. Скажите, почему?

1 Ответ

0 голосов
/ 20 ноября 2018

localhost! = Любой IP-адрес.То есть

GRANT ... TO tvgift@'%' ...

не не включает

GRANT ... TO tvgift@'localhost' ...

Если вы хотите подключиться как через localhost, так и через IP-адрес или имя хоста, вы должныпредоставить два GRANTs с одинаковыми разрешениями (например, ON tvgift.*).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...