更改mysql工作台上的默认字符集

sqougxex  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(402)

我正在尝试使用 utf8mb4 字符集(注意数据库字符集的全局设置已经是utf8mb4)。
我可以很容易地使用cli做到这一点,如下所示:

mysql -h myhostname -u myuser -p --default-character-set=utf8mb4

当我执行以下查询时:

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   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_general_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+

但是,当我使用mysql workbench连接到mysql数据库并执行相同的查询时,我得到以下结果:

+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8               |
| character_set_connection | utf8               |
| character_set_database   | latin1             |
| character_set_filesystem | binary             |
| character_set_results    | utf8               |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8_general_ci    |
| collation_database       | latin1_swedish_ci  |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+

这里的问题是我正在努力改变现状 default-character-set 在mysql工作台gui中。我尝试附加以下内容:

default-character-set=utf8mb4

在管理服务器连接>连接>高级>其他部分中,
但似乎没有任何影响。
如何更改mysql workbench gui上的默认字符集。

1mrurvl1

1mrurvl11#

在mysql workbench(8.0)中,您可以单击administration选项卡,选择instance下的options file,滚动到international部分,您将找到character set server和collation server,您可以将其设置为所需的charset和collation。单击应用按钮保存更改。
这将在/etc/mysql/my.cnf或配置文件所在的任何位置设置值。

vaj7vani

vaj7vani2#

afaik每次启动新的工作台会话时都必须执行以下命令:

SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

更新
如果您需要使用workbench进行导出,那么下面的内容很有用:(我还没有找到一种类似的方法,可以使所有的连接都默认为utf8mb4)
用于导出数据的默认字符集是utf8。为了支持完整的unicode,我们需要utf8mb4。为了实现这一点,可以修改workbench以手动使用utf8mb4。
转到c:\program files\mysql\mysql workbench 6.3 ce\modules打开此文件wb\u admin\u export.py。
创建备份副本
将所有出现的“default character set”:“utf8”替换为“default character set”:“utf8mb4”。
保存文件。
重新启动工作台。
下次运行导出时,您将在日志结果中看到如下结果:
运行:mysqldump.exe--defaults file=“c:\users\jonathan\appdata\local\temp\tmpidlh7a.cnf”--host=localhost--protocol=tcp--user=root--allow keywords=true--port=3306--default character set=utf8mb4--routines--skip triggers“数据库名”

相关问题