我正在尝试将我的MySQL服务器及其现有模式转换为utf8mb4字符集。
初步说明:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf,目前不存在。现在,我将一个模式转换为utf8mb4 (一个ALTER SCHEMA和多个ALTER TABLEs),一切都很好。然后创建以下C:\xampp\mysql\my.cnf文件:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci下一步,我使用xampp控制面板停止mysql,再次启动它,然后检查字符集相关变量:
mysql> SHOW 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 | 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和character_set_server应该设置为utf8mb4,collation_database和collation_server应该设置为utf8mb4_unicode_ci。我遗漏了什么?
我已经尝试将我的my.cnf选项移到MySQL读取的路径中的其他路径(参见上文),但是没有什么变化。
发布于 2016-01-04 18:10:48
好吧,我找到问题的原因了。如果mysqld是作为服务安装的,它将可执行文件的路径设置为:
C:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysql(当然,如果XAMPP安装在C:\xampp__中)
当mysqld使用--defaults-file参数启动时,它会读取指定的选项文件。由于这条路径没有出现在mysql --help的S选项文件列表中,我不知道它的存在。
https://dba.stackexchange.com/questions/125151
复制相似问题