【问题标题】:Docker-compose mysql environment difference between PASSWORD and ROOT_PASSWORDdocker-compose mysql环境PASSWORD和ROOT_PASSWORD的区别
【发布时间】:2018-03-09 16:02:04
【问题描述】:

这是来自我的 docker compose:

 db:
        image: mysql
        ports: 
            - "3306:3306"
        environment:
            MYSQL_DATABASE: myDb
            MYSQL_USER: user
            MYSQL_PASSWORD: test
            MYSQL_ROOT_PASSWORD: test 
        volumes:
            - ./dump:/docker-entrypoint-initdb.d
            - persistent:/var/lib/mysql

当我将我的用户和两个密码都更改为“root”时,我的数据库被创建但它是空的。当我按上述方式保留凭据时,/dump 目录中的 .sql 脚本会按预期填充数据库。凭据更改如何影响数据注入,我该如何解决?

【问题讨论】:

    标签: php docker mysqli docker-compose


    【解决方案1】:

    来自文档(https://hub.docker.com/_/mysql/)...

    MYSQL_USER,MYSQL_PASSWORD

    这些变量是可选的,结合使用创建一个新用户 并设置该用户的密码。此用户将被授予超级用户 指定的数据库的权限(见上文) MYSQL_DATABASE 变量。用户需要这两个变量 已创建。

    所以这是创建一个带有密码的新用户。 MYSQL_ROOT_PASSWORD 是 MySQL 的 root 用户的密码。

    MYSQL_ROOT_PASSWORD 此变量是必需的,并指定 将为 MySQL root 超级用户帐户设置的密码。在里面 上面的例子,它被设置为 my-secret-pw。

    【讨论】:

    • 我没有仔细研究过,但我相信用户名和密码不能相同。并且它们都不能等于root密码。
    猜你喜欢
    • 2016-02-16
    • 2016-10-24
    • 2020-11-03
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多