- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开始使用docker-compse
进行实验。我创建了一个最小的 Flask + MySQL Web 服务,无需 Docker 即可完美运行。现在我想看看如何使用 Docker 简化部署。
我的docker-compose.yml
看起来像这样:
version: '3'
services:
web:
build: .
command: app.py
ports:
- "8082:8082"
volumes:
- .:/code
links:
- db
hostname: myappserver
environment:
- MYSQL_ROOT_PASSWORD=p@ssw0rd123
- MYSQL_DATABASE=flask_db
- MYSQL_HOST=db
- MYSQL_PORT=3306
db:
image: mysql
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=p@ssw0rd123
- MYSQL_DATABASE=flask_db
- MYSQL_HOST=mysqlserver
当我运行sudo docker-compose up --build
时,我得到了
web_1 | sqlalchemy.exc.ProgrammingError: (mysql.connector.errors.ProgrammingError) 1146 (42S02): Table 'performance_schema.session_variables' doesn't exist [SQL: "SHOW VARIABLES LIKE 'sql_mode'"]
db_1 | 2017-07-21T22:27:26.553761Z 3 [Note] Aborted connection 3 to db: 'flask_db' user: 'root' host: '172.18.0.3' (Got an error reading communication packets)
问题是什么以及如何解决?
(完整的项目在这里:https://github.com/MartinThoma/flask_mysql_dockerized - 它真的很小)
所以这是我修复它的方法,我希望这可以减少手动完成:
Start the containers:
# docker-comopse up
Find the container ID of the mysql image:
# docker container ls
Enter the container
# sudo docker exec -it 4f7d3f0763ad bash
Upgrade
# mysql_upgrade -u root -p --force
Exit the container, then restart
# docker-compose up
Initialize the database:
# cd /docker-entrypoint-initdb.d/
# mysql -h localhost -u root -p
mysql> source flask_db.sql;
最佳答案
您需要将数据库添加到您的 mysql 服务:
volumes:
- ./flask_db.sql:/docker-entrypoint-initdb.d/flask_db.sql
提示:建议使用较小的图像,这样您的图像只需要基本组件,而没有额外的非必要内容。
关于mysql - 如何使用 Docker compose 修复“"Table ' Performance_schema.session_variables”不存在”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247634/
我想在 mysql 中打开 performance_schema 以收集统计信息。 我怎样才能做到这一点? 最佳答案 以下指南是特定于 linux 的,但应该很容易适应 windows。 您必须检查您
我执行了mysqldump --all-databases,然后从我的 RD Linux 中删除了 MySQL 5.5,然后安装了 MySQL 5.1.73之后,我将所有数据库导入到新服务器,但我的复
在 ubuntu 机器上使用 mysql 5.6.19,使用 sudo apt-get install 安装,但我遗漏了一些表格(尝试使用性能报告时从 Workbench 收到警报)。 这些是我在 p
我的 Ubuntu 14.04 上运行着 MySQL 5.6.19 社区服务器。最近我一直在尝试使用 performance_schema 来监控 MySQL 服务器。以前,我曾经使用 cronjob
我是使用 MySql 数据库的新手,我已经下载了 EasyPHP-Devserver-16.1,当我运行服务器来更新我的数据库架构时,会显示此错误消息。 com.mysql.jdbc.exceptio
我正在尝试在我的 WAMP 堆栈中使用 Performance_schema 数据库。 我的 php 版本是 5.6 我在下面添加了“performance_schema”my.ini 配置文件中的
为此我在谷歌上搜索了很多,但没有看到任何人谈论它,所以这一定是一个简单的问题,但它仍然让我感到难过。 此 performance_schema 表 - http://dev.mysql.com/doc
将 MySQL 升级到 5.7.8-rc 后并登录到服务器我得到了错误: Table 'performance_schema.session_variables' doesn't exist 我找不到
我已将 ec2 Linux 服务器上的 mysql 从 5.5 更新到 5.7.20(并且我的 ubuntu 上有 5.7.21)。 自从升级后,我无法通过 mysql 工作台连接到 mysql 服务
performance_schema 似乎有一些 varying数量performance impact ,我很好奇我们有什么工具可以减轻影响? 我在 mysql 8.x 中看到开发人员正在调查 se
我知道性能模式中的统计数据在 MySQL 重启后不会持久存在。我想在不重新启动 MySQL 的情况下刷新所有统计信息。有什么办法吗? 谢谢。 最佳答案 比截断每个单独的表更容易的是调用过程: CALL
我的问题是关于 mysql 对索引使用情况的内部跟踪。 我想知道是否正在使用特定索引。在其他 DBMS 中,有一些基础结构表可以跟踪表和索引等对象的 page_reads 和 page_hits。我在
例如,我的数据库中有一个名为“Test”的表,我创建了一个只有 SELECT,INSERT & UPDATE 权限的用户。该用户将向数据库中插入数据。该用户是否应该被限制为只能访问“测试”表,或者他们
我遇到了元数据锁定问题并找到了很好的解决方案: http://mysql.wisborg.dk/2014/01/13/who-holds-the-metadata-lock-mysql-5-7-3-b
我得到以下信息: Native table 'performance_schema'.'file_instances' has the wrong structure Native table 'pe
我将 MySQL 文件和目录移动到同一服务器上的不同卷。将所有权设置回 mysql 用户后,我启动了该服务,一切看起来都很好。 选项文件仍位于默认位置/etc/my.cnf 我可以使用mysql -u
我一直在仔细检查我的 MariaDB 安装,尝试将所有内容从 utf8(3 字节风格)更新到 utf8mb4。它在 my.cnf、我的所有数据库及其所有适用的表和列中都是正确的。当我创建没有选项的新数
我的 c# 程序给我这个错误: MySql.Data.MySqlClient.MySqlException : 'Table 'performance_schema.session_variables
我在这里遇到了一些非常奇怪的问题。我们在 AWS EC2 上托管了一个 laravel API,并且我们使用 RDS (mysql 5.6)。我最近在 RDS 上启用了 performance_sch
我们有多个 MySQL 服务器 (v 5.1) 分散在不同的地理位置。我们正在考虑升级到最新的 MySQL 版本,因为我们听说了很多关于 MySQL v5.6.14 及更高版本中可用的 PERFORM
我是一名优秀的程序员,十分优秀!