如何查看mysql卷中的表?

8ulbf1ek  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(478)

我已经进口了一个 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 音量?

vd8tlhqk

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/
如果需要更多的解释,请告诉我?

pkwftd7m

pkwftd7m2#

一种解决方案是使用mysql workbench并创建指向docker数据库容器的连接。从那里可以检查创建了哪些模式表。
如果数据库docker容器已启动,则可以使用以下命令检查容器并查找IP地址:
Docker 在这里检查集装箱名称
获取ipaddress并在mysqlworkbench中使用它来创建连接

olqngx59

olqngx593#

您可以直接从主机执行任何sql命令来查看数据库。
您正在查找此命令:

docker exec -it mysql-container mysql -uroot -pmy-secret-pw -D thisdatabase -e "SELECT * FROM table_name;

其中mysql container是mysql容器的名称
其中-uroot是sql容器的帐户
其中-pmy secret pw是sql容器的密码
其中thisdatabase是要检查的数据库的名称
其中表名显然是感兴趣的数据库表名
提示:如果是新容器,而您不知道密码,只需运行以下命令:

sudo docker logs mysql-container 2>&1 | grep GENERATED

相关问题