繁体   English   中英

在docker中运行时如何访问wordpress mysql数据库?

[英]How do you access the wordpress mysql database when running it in docker?

在此先感谢您帮我解决这个问题。 我一直在绕圈子试图弄清楚这一点,但很可能我错过了一些非常简单的东西。

我按照快速入门指南在 Docker 中使用 Wordpress: https : //docs.docker.com/compose/wordpress/

但是,我无法访问我的 mysql 数据库。

这是我的 docker-compose 文件(几乎是从教程中复制的):


services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     command: "--default-authentication-plugin=mysql_native_password"
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
       MYSQL_ROOT_HOST: "%"

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

我可以通过运行docker exec -it db_name /bin/bash进入我的数据库容器的 shell。

到那里后,我无法运行 mysql。 这是我这样做的尝试:

root@79f23dc84547:/# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

当我尝试使用用户名和密码时:

root@79f23dc84547:/# mysql -u wordpress -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'wordpress'@'localhost' (using password: YES)

环境变量明确设置:

root@79f23dc84547:/# echo $MYSQL_ROOT_PASSWORD    
somewordpress

再次,提前感谢您!

您的客户端需要使用与您的服务器 ( doc ) 相同的选项运行。 实际上,对于 5.7 版,您应该删除修复(问题)的选项。

#remove
command: "--default-authentication-plugin=mysql_native_password"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM