mysql - 如何在不更改配置文件的情况下将 mysql character_set_database 设置为 utf8mb4?(因为我无权访问这些文件)
问题描述
我正在使用 AWS Lightsail MySQL,并尝试将编码设置为 utf8mb4。我能够使用命令设置一些变量
SET NAMES utf8mb4;
ALTER DATABASE etl_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
结果是
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+--------------------+
但我找不到改变的方法character_set_database
或其他方法。网上的解决方案都是关于更改配置文件的。但是,由于我使用的是 AWS Lightsail MySQL 服务,因此我无法访问这些文件。那我怎样才能改变其余变量的编码呢?
顺便说一句,我想知道为什么我可以在 mysql 中更改某些内容,而我只能在 my.cnf 中更改其他内容?我可以在 mysql 中设置 buffer_size 吗?
解决方案
Lightsail 数据库参数可使用 aws-cli 进行配置。
https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-updating-database-parameters
您可以临时更改一些值,因为这些变量的值是特定于连接的SET NAMES
,只会更改您当前的连接,而不是与服务器本身的所有连接的默认值。
推荐阅读
- python - 如何使显示的输出看起来好像正在输入?
- python - 如何通过谷歌应用引擎从谷歌表格中读取数据?
- oracle - 如何在 Oracle SQL 中创建嵌套的引用表?
- javascript - 如何知道元素是否已在屏幕上完成显示(完成渲染) - Javascript
- python - 捕获和抑制 cv2.VideoCapture 错误
- javascript - 使用 Mongoose 更新对象数组的最佳方法?
- javascript - JavaScript : 短时间显示密码
- java - HttpURLConnection 属性顺序
- javascript - 为什么Angular会将索引0数组推入子数组而不是索引1?
- javascript - ?nodejs中护照google-oauth20中代理的用途是什么?