When switching to localhost: 8080, 3 fields, server, login, password appear on the PHPMyadmin page. I write this:

server: mysql login: root password: secret 

and it gives me errors:

  1. Unable to connect to MySQL server
  2. [Caching_sha2_password]

3.mysqli_real_connect (): (HY000 / 2054):

Here is docker-compose.yml:

 # Версия docker-compose version: '3' # Список наших сервисов (контейнеров) services: nginx: # используем последний стабильный образ nginx image: nginx:latest # маршрутизируем порты ports: - "80:80" - "443:443" # монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере volumes: - ./hosts:/etc/nginx/conf.d - ./www:/var/www - ./logs:/var/log/nginx # nginx должен общаться с php контейнером links: - php php: # у нас свой образ для PHP, указываем путь к нему и говорим что его надо собрать build: ./images/php # этот образ будет общаться с mysql links: - mysql # монтируем директорию с проектами volumes: - ./www:/var/www mysql: image: mysql:8 ports: - "3306:3306" volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin depends_on: - mysql environment: - PMA_ARBITRARY=1 restart: always ports: - 8080:80 volumes: - /sessions 

    1 answer 1

    If I'm not mistaken in mysql8, the password authentication feature is disabled by default. Solution or downgrade to 5 or connect authentication plugin.
    That should help.

     mysql: image: mysql:8 command: ['--default-authentication-plugin=mysql_native_password']