在Windows下安装noinstall ZIP Archive时,是否需要为Mysql 8.0.33创建my.ini文件

8dtrkrch  于 2023-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(180)

在本问题中:Running/Starting MySQL without installation on Windows,我在评论中问了一个问题:
我在许多教程中看到,有一个名为my.ini的配置文件。但是在Aj Tech Developer的回答中,这个my.ini文件是不需要的,为什么?
以下是我用于配置的my.ini文件:

[client]
default-character-set=utf8

[mysqld]
port = 3306
max_connections=20
character-set-server=utf8
default-storage-engine=INNODB

**问题1:**看起来如果这个文件不存在,Mysql仍然可以正常启动。那么,这个文件是必要的吗?
**问题2:**当我尝试在运行的Mysql中创建数据库时,它说服务器端默认排序规则是utf8mb3_general_ci,而在一些讨论(mysql - What's the difference between utf8_general_ci and utf8_unicode_ci? - Stack Overflow)中,建议首选utf8mb4_general_ci。所以,我不确定他们的区别是什么。

谢谢

编辑

服务器端排序规则选项utf8mb3_general_ci由我放在MySQL的<root>文件夹中的my.ini文件设置。如果我删除这个my.ini文件,并重新启动MySQL。之后,我尝试创建一个新的数据库,我看到服务器端的默认排序规则现在是utf8mb4_0900_ai_ci

jmo0nnb3

jmo0nnb31#

无需创建my.inimy.cnf文件。每个服务器选项都有一个已编译的默认值。默认值为documented
utf8_general_ciutf8_unicode_ci是排序规则,而不是编码。
我建议使用MySQL 8.0默认值:字符集utf8mb4和排序规则utf8mb4_0900_ai_ci,除非您有特定的不同需求(如果您不知道是否需要不同的东西,那么您几乎肯定不需要)。
如果你想了解更多细节,请阅读MySQL 8.0手册中关于字符集和排序规则的章节:https://dev.mysql.com/doc/refman/8.0/en/charset.html
我也建议阅读维基百科上关于UTF-8的文章,以获得一般信息:https://en.wikipedia.org/wiki/UTF-8
Stack Overflow联合创始人Joel Spolsky的博客:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

相关问题