簡體   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