gpt4 book ai didi

mysql - 使用 AWS OpsWorks 覆盖 RDS 中的 my.conf 模板

转载 作者:行者123 更新时间:2023-11-30 22:24:03 24 4
gpt4 key购买 nike

我正在尝试将我的 RDS 实例默认字符集更改为 utf8mb4,以便我可以支持表情符号。我有一个 repo with all my recipes ,我过去用它来自定义我的部署。我关注了this guide来自 AWS,但是当我部署应用程序时,更改不会反射(reflect)在数据库中。我还确保在我的自定义 Recipe 存储库中 mysql 目录的根目录中创建一个 metadata.rb 文件。

我还使用新的属性组设置了一个新的 RDS 实例,其中适当的字符集和排序规则设置为 utf8mb4。这个数据库也被设置为我在 OpsWorks 应用程序中的数据源。

在 Rails 中,我还将编码和排序规则设置为 utf8mb4...

default: &default
adapter: mysql2
encoding: utf8mb4
collation: utf8mb4_general_ci
...

如果我通过 ssh 进入我的应用程序服务器,然后连接到 MySql,这就是我在查询全局变量时看到的...

mysql> SHOW GLOBAL VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+

但是当我对非全局变量做同样的事情时,我看到了这个:

mysql> show variables like 'char%';
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.6.23.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
8 rows in set (0.00 sec)

我还应该提到,在我使用迁移将适当的表和列设置为 utf8mb4 之后,这在本地运行良好。

在这一点上,我不明白为什么我不能让字符集正确应用。希望比我聪明的人可以帮助我解决这个问题!

谢谢

最佳答案

深入挖掘后,我意识到我在更新自定义 Recipe 时错过了一个关键步骤。我没有意识到简单地进行部署不会检索新的配方。在我运行命令“更新自定义说明书”然后进行部署后,它起作用了。

希望这对将来的人有所帮助。

关于mysql - 使用 AWS OpsWorks 覆盖 RDS 中的 my.conf 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35831077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com