mysql - 在docker中运行wordpress mysql数据库时如何访问它?
问题描述
提前感谢您帮助我解决这个问题。我一直在绕圈子试图弄清楚这一点,但很可能我错过了一些非常简单的东西。
我在这里按照快速入门指南在 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
。
在那里,我无法运行 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"
推荐阅读
- webpack - Webpack 插件:webpack-contrib/closure-webpack-plugin 和 google/closure-compiler-js 之间的区别?
- python - 在带有多个分隔符的 pandas 中读取多索引 CSV
- java - 未捕获异常情况下的Tomcat HttpThread池异常处理
- php - 在 php 中将 .cbr 文件转换为 .zip 文件
- android - 如何将文件从 res:// 位置复制到 godot 中的 user:// 位置
- postgresql - PostgreSQL:在 SELECT 查询中使用时区列提高时间戳的性能
- sql - 为什么我收到 Msg 121, Level 15, State 1, Line 12
- performance - D3 JS - 如何将 svg 网格转换为一个网格以提高整体性能?
- java - Java GUI 从文件中搜索单词然后继续
- node.js - 部署到 heroku [错误:spawn babel-node ENOENT]