mysqldump --default-character-set

本文通过一次未指定字符集的mysqldump操作引发思考,详细分析了MySQL内部各种字符集设置,并最终推测mysqldump默认使用的字符集为系统字符集utf8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用mysqldump 倒数据,忽然发现忘记使用了 --default-character-set 了,那就借机看下,如果不加导出编码,那么 mysqldump 是按照啥编码来定的呢?

我查看了导出的sql 文件的内码是:UTF8的

然后我运行了一下命令:


mysql> show variables like 'charac%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | ascii |
| character_set_connection | ascii |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | ascii |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)

mysql> show create database test;
+----------+--------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------+
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)



mysql> show create table test.rep1_test;
+-----------+--------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-----------+--------------------------------------------------------------------------------------------------------------------------+
| rep1_test | CREATE TABLE `rep1_test` (
`v` varchar(4) DEFAULT NULL,
`c` char(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+-----------+--------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

看了以上所有的编码显示。唯一只有可能的是:

character_set_system | utf8

系统编码~~~。 这个不肯定。改天那里看到了肯定了。在补上吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值