最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
MySQL库目录里db.opt文件的作用
时间:2026-06-18 09:02:07 编辑:袖梨 来源:一聚教程网
细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则,那么后续创建的表如果没有指定字符集和排序规则,那么该新建的表将采用db.opt文件中指定的属性。

/*Set table default charset, if not setSYNOPSISset_table_default_charset()create_infoTable create informationDESCRIPTIONIf the table character set was not given explicitely,let’s fetch the database default character set andapply it to the table.*/static void set_table_default_charset(THD *thd,HA_CREATE_INFO *create_info, char *db){/*If the table character set was not given explicitly,let’s fetch the database default character set andapply it to the table.*/if (!create_info->default_table_charset){HA_CREATE_INFO db_info;load_db_opt_by_name(thd, db, &db_info);create_info->default_table_charset= db_info.default_table_charset;}}
另外要说明的是,如果你是通过alter databases(schema) 命令更改的数据库默认属性,那么现有的表的默认字符集和排序规则不受影响。
通过创建数据库指定数据库的默认字符集和排序规则:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name[create_specification] …create_specification:[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name
也可以通过alter database修改
ALTER {DATABASE | SCHEMA} [db_name]alter_specification …ALTER {DATABASE | SCHEMA} db_nameUPGRADE DATA DIRECTORY NAMEalter_specification:[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name
参考:
http://www.mysqlab.net/blog/2010/02/mysql%E5%BA%93%E7%9B%AE%E5%BD%95%E4%B8%8Bdb-opt%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD%9C%E7%94%A8/
转载于:https://www.cnblogs.com/xiaotengyi/p/3642007.html
相关文章
- 战为王好玩吗 战为王玩法介绍 06-18
- 使命召唤21:黑色行动6: Black Ops 1 与 2 将在下月正式移植至新平台 06-18
- 讯飞星火是什么?AI认知大模型的能力与适用场景说明 06-18
- 6月17日在线修正——Abundance Naigtal 与 Lorewalking 06-18
- 美美小店第一章第四关 旅游达人s级攻略 06-18
- 洛克王国世界卷胡巨獭如何进化 06-18