【问题标题】:How to convert rds mysql latin1 to utf8如何将 rds mysql latin1 转换为 utf8
【发布时间】:2019-05-26 09:15:49
【问题描述】:

我想将我们的生产数据库从 latin1 转换为 utf8。 我们正在使用亚马逊 rds mysql。 请逐步提供。会有停机时间吗?

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

我使用上面的查询来转换每个表。

这是个好方法吗?我需要一个一个来做还是有其他方法一步一步来做?

【问题讨论】:

    标签: mysql sql rds iso-8859-1


    【解决方案1】:

    PRODUCT 服务器的更改始终至关重要。在做出最终决定之前,需要考虑很多因素。第一个问题是—— 这真的是一个表演障碍吗?或死锁情况?还是性能问题?如果经过所有考虑,您决定这是必须的,则需要谨慎 执行以实现更改-

    第 1 步:进行完整的数据库备份。

    第 2 步:确保备份可恢复。制作多个备份副本并保存在不同的服务器中。这将有助于在发生任何意外数据丢失时恢复您的旧数据。

    第 3 步:首先对开发服务器进行必要的更改。检查您的应用程序是否像以前一样执行,特别是在更改区域存在数据访问的情况下没有任何问题。

    第 4 步:检查所有数据库对象,如 (SP,FUNCTION) 是否正在使用该表,是否仍按预期执行。

    第 5 步:如果您可以在 LIVE 环境中进行更改之前聘请一些 QA 资源,那就更好了。

    第 6 步:如果上述所有步骤都正常,您可以进行实时更改。

    第 7 步:再次使用 QA 资源,以确保 LIVE 更改也能顺利应用。

    注意:不需要大量停机时间。但始终最好在数据库更改期间保持停止从应用程序访问数据库。这确保在从应用程序插入/编辑/删除数据期间不会有任何数据受到阻碍。

    【讨论】:

    • 感谢您的回答。这是必须转换的。我应该遵循哪些步骤才能在实时更改中正确转换它?
    • 所有常见的注意事项都适用于任何数据库。
    • 关于 Alter 脚本,我正在使用我的 MySQL 5.0 脚本如下 - ALTER SCHEMA test DEFAULT COLLATE utf8_unicode_ci ;更改表test.bill COLLATE = utf8_unicode_ci ;我发现你和我的脚本之间存在一些差异。希望你能意识到这一点。
    • 感谢您的回复。如果我转换它,将对我们当前的数据产生任何影响。使用 utf8mb4 代替 utf8 更好吗?
    猜你喜欢
    • 2010-11-29
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2015-04-09
    • 2010-12-04
    相关资源
    最近更新 更多