laravel连接时,mac os上的mysql docker在caching_sha2上“崩溃”

卡米尔(KamilKiełczewski)

我在Mac Mini上进行了出厂重置,我只想在OS X上直接安装Docker和一些基本工具(如git),而对于其他我想使用docker的软件,我要使用其他软件,例如php,phpstorm,nginx,node, mysql,postgres,phpmyadmin,mysql-workbench ...有许多版本。我想使用docker安装它们以轻松管理它们。对于这个工具,我想用我的项目或数据库存储,配置等代码映射文件夹。

在安装mysql 8的过程中,我遇到一个奇怪的问题-我能够通过phpmyadmin和mysql-workbench作为root登录到db,但是我的php 7 laravel应用在连接期间“挂起”。这是mysql dockerfile:

version: '3.1'

services:

  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: terefere321
      MYSQL_ROOT_HOST: "%"
    ports:
      - 3306:3306
    volumes:
    - ./db_files:/var/lib/mysql

这是docker文件+脚本,它允许我在docker上通过cmd运行php:

FROM php:7.2-apache

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

RUN apt-get update &&\
    apt-get install -y \
    git \
    zlib1g-dev \
    zip \
    unzip \
    &&\ 
    docker-php-ext-install pdo pdo_mysql zip &&\
    a2enmod rewrite 

Bash脚本运行php-cmd docker容器并“登录”以获取命令行:

set -e
cd -- "$(dirname "$0")"  # go to script dir - (for macos double clik run)
docker build -t php-cmd .
docker rm -f php-cmd
docker run -d --name php-cmd -v /Volumes/work:/var/www/html php-cmd
docker exec -it php-cmd /bin/bash

/Volumes/work是带有我的项目代码的目录。“登录”后,我运行php artisan migrate,应用程序挂起30秒钟,并在抛出错误后挂起:

SQLSTATE [HY000] [2006] MySQL服务器已消失PDO :: __ construct():

进行caching_sha2 auth时,服务器意外退位:109

卡米尔(KamilKiełczewski)

default-authentication-plugin=mysql_native_password命令添加到mysql8 dockerfile-因此您应该获得:

version: '3.1'

services:

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: terefere321
      MYSQL_ROOT_HOST: "%"
    ports:
      - 3306:3306
    volumes:
    - ./db_files:/var/lib/mysql

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Mac OS上的C ++中连接到MySQL?

MySQL Workbench在Mac OS上崩溃(全新安装)

在Mac OS上挂起连接

Mac OS 10.9.1上的mysql-python

在Mac OS X上安装MySQL Python

在Mac OS上如何停止MySQL?

Matlab崩溃时,Mac OS上的X11连接断开

使用Laravel在Docker Mysql上拒绝连接

无法在Mac OS X上安装Ruby MySQL Gem

如何在Mac OS X(Snow Leopard)上卸载MySQL?

用户root的访问被拒绝-MAC OS上的mysql

在Mac OS X上无法连接到Docker守护程序

在Mac OS X 10.8上无法使用“启动时自动启动MySQL服务器”

在Docker上运行Laravel artisan命令时连接被拒绝

在 Mac OS 上编译 caffe 时出错

在Mac OS X Sierra上安装Laravel

未连接:Mac上潜在的安全问题laravel localhost

Mac OS 10.9上QMetaObject :: changeGuard崩溃

Dia 在 Mac OS 10.11.6 上崩溃

Aptana在Mac OS Sierra上崩溃

在Mac OS X上的boot2docker,docker,django

在Mac OS X上尝试通过GeckoDriver和Selenium使用firefoxprofile时,“未知错误”,“消息”:“连接被拒绝”,“堆栈跟踪”

RMariaDB:连接到 MySQL 时出现 caching_sha2_password 错误

HttpException: -404 运行 Docker 时无法连接到 mac 上的远程服务器

连接到 docker 上的 MySQL 容器时的 NodeJS ENOTFOUND db

Docker 上的 Laravel [2002] 连接被拒绝在端口 3307 上连接到 Mysql

在Mac Mavericks上通过SSH连接到EC2时,权限被拒绝(公钥)

在Mac OS上设置Discourse Docker

使用实体框架和 MySql 在 Mac OS 上运行 Razor Pages Web App