我已经进口了一个 SQL
文件包含我的架构及其所有表,方法是:
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
- ./resources/file.sql:/docker-entrypoint-initdb.d/file.sql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: db
问题是,当我试图从某些表中检索数据时,后端出现异常:
抛出异常:com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:表“db.configuration”不存在com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:表“db.configuration”不存在
有些table工作起来就像 user
table。
虽然我已经测试过 SQL
mysql工作台中的文件。
问题是,有没有办法让我看到 db_data
音量?
3条答案
按热度按时间vd8tlhqk1#
是的,您可以从docker命令行看到所有表信息。
首先,进入docker容器,运行下面的命令。
docker exec-it mysql\u容器名称mysql-uroot-p
其中“root”是mysql数据库的用户名。在运行上述命令后,它将询问您密码。
然后选择数据库,运行下面的命令
使用数据库的名称
获取所有表的列表。
显示表格;
运行任何查询,例如从
从表名称中选择*;
我列出了一些日常 Docker 有用的命令,看看。https://rohanjmohite.wordpress.com/2017/08/04/docker-daily-useful-commands/
如果需要更多的解释,请告诉我?
pkwftd7m2#
一种解决方案是使用mysql workbench并创建指向docker数据库容器的连接。从那里可以检查创建了哪些模式表。
如果数据库docker容器已启动,则可以使用以下命令检查容器并查找IP地址:
Docker 在这里检查集装箱名称
获取ipaddress并在mysqlworkbench中使用它来创建连接
olqngx593#
您可以直接从主机执行任何sql命令来查看数据库。
您正在查找此命令:
其中mysql container是mysql容器的名称
其中-uroot是sql容器的帐户
其中-pmy secret pw是sql容器的密码
其中thisdatabase是要检查的数据库的名称
其中表名显然是感兴趣的数据库表名
提示:如果是新容器,而您不知道密码,只需运行以下命令: