问题标签 [mysqlupgrade]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 升级过程中从 5.6 到 5.7 的 AWS RDS MySQL 复制
语境
大家好,我们即将将我们的 AWS RDS MySQL 实例从 MySQL 5.6 升级到 MySQL 5.7。为此,我们计划通过以下步骤
- 创建主实例的只读副本
- 将只读副本版本从 5.6 升级到 5.7
- 停止对主实例的写入操作
- 等到所有数据都复制完
- 将只读副本提升为主副本
- 更新我们的数据库 DNS 记录以指向副本端点
问题
根据AWS 文档, MySQL 5.6 和 MySQL 5.7 之间的DateTime、Time和Timestamp数据类型发生了变化。这就是为什么我想知道在步骤“4”中复制是否仍然可以在主副本(MySQL 5.6)和升级副本(MySQL 5.7)之间工作?
由于主实例仍将使用旧的DateTime、Time和Timestamp格式,在使用新格式的副本中会发生什么?
数据会使用旧格式复制还是转换以适应新格式?
谢谢
mysql - 有任何 MySQL 查询来更新/替换 Group By 表点到其他 MySQL 表
我使用以下查询过滤 My (TableA - fields app_id, user_id, points, tr_type, description )
结果:
现在我有另一张桌子(TableB)
现在我需要快速替换查询来更新 TableB 点值,它是来自 TableA 的 groupby
hibernate - MySQL 从 5.6 升级到 5.7 的 Grails 更改
我们是 grails 2.3.11 并且一直在使用 MySQL 5.6 (AWS RDS) 和 Hibernate
MySQL 和 hibernate 的现有运行时依赖项如下
数据源配置如下。(注意我们从来没有在这里设置方言)
现在我们正在寻找将 MySQL 升级到 5.7 并试图找到 grails 的任何文档,但找不到它。
我可以看到的一件事是我们一直使用的 MySQL 连接器仅支持 5.6,因此第一步是将其更新为 mysql-connector-java:5.1.49,因为我看到这是最新版本,而 grails 是运行 jdk 7,我无法切换到连接器 8。
我找不到任何与休眠相关的东西,因为我们一直在使用 grails 的休眠 gorm 插件是我能找到的唯一一个 https://mvnrepository.com/artifact/org.grails.plugins/hibernate/3.6.10.19
最后,直到现在我们还没有为 MySQL 设置方言,所以不确定我们是否应该明确设置方言。
我们正在寻找最少的停机时间,因此我们的计划是让 Grails 应用程序首先支持 MySQL 5.7 并保持与 MySQL 5.6 的向后兼容性,然后将 MySQL 升级到 5.7 并且应该仍然可以工作。
有人做过这样的升级吗?您的意见对我来说非常有价值。
mysql - MySQL 问题:设置为 DEFAULT = CURRENT_TIMESTAMP 的列在 sql 导入期间在整个数据库上被覆盖
几个月前,我迁移到另一个 mysql 服务器,并通过 phpMyAdmin Web 界面进行了导出和导入。我刚刚意识到我只是丢失了多个表的所有“创建日期”,因为它们都被我认为是导入操作的日期所覆盖。
现在没什么大不了的,因为它仍然是开发测试数据,但这在生产过程中将是一个巨大的损失(如果我需要再次迁移)。
关于为什么会发生这种情况或如何防止它再次发生的任何想法?正如我在标题中提到的,列的“类型”都设置为日期时间,“默认”设置为 CURRENT_TIMESTAMP,我刚刚注意到“额外”设置为 DEFAULT_GENERATED(这可能表明存在问题,因为我'以前从未见过这个)。
注意:当前版本是 8.0.20,我相信旧服务器是 5.6。另外,我很确定我没有处理所有的导出/导入设置。我记得导入引发了投诉,但我相信它与默认的 sql 表有关。
编辑
所以,我只是查看了由导出生成的 .sql 文件,我可以看到INSERT INTO (..) VALUES (...)
不包含该creation_date
列或其任何数据。所以出口一定有问题。任何想法在我的下一次出口中寻找什么?
mysql-8.0 - Mysql 8 - UNION ALL 查询中的十进制值不正确
这发生在从 Mysql 5.5 升级到 Mysql 8 之后。
假设我们有 2 个数据集,它们都代表系统上不同类型的销售订单。
我正在尝试运行一个查询,它将为我提供 2 个数据集中的所有订单及其总值:
但在这种情况下,返回的价格计算不正确:
这曾经在 Mysql 5.5 中工作,我在查询中找不到任何明显错误的地方。如果我将查询包装在“SELECT * FROM (##query here##)T1”中,则返回的结果与预期的一样:
mysql - mysql_upgrade 通过查询
有没有一种方法可以检测我是否需要在无法访问命令行的情况下运行 mysql_upgrade 以便使用 mysql_upgrade 或 mysql_check 工具?我需要一种使用 SQL 语句或类似方法的方法