您现在的位置是:亿华云 > IT科技类资讯
MySQL数据库目录下面的db.opt是干什么用的?
亿华云2025-10-09 03:37:17【IT科技类资讯】0人已围观
简介概述MySQL数据库存放数据目录里的db.opt文件是MySQL建库过程中自动生成的。细心的朋友可能会发现有时候在MySQL数据库的某些库目录下有个db.opt文件,那这个文件是干什么用的呢?如果你用
概述
MySQL数据库存放数据目录里的据库db.opt文件是MySQL建库过程中自动生成的。
细心的目录朋友可能会发现有时候在MySQL数据库的某些库目录下有个db.opt文件,那这个文件是下面干什么用的呢?如果你用记事本等编辑器打开看的话,内容很简单,据库是目录用来记录该库的默认字符集编码和字符集排序规则用的。
db.opt
MySQL的服务器租用下面每个数据库目录中有一个文件db.opt,该文件主要 用来存储当前数据库的默认字符集和字符校验规则。
default-character-set=utf8 default-collation=utf8_general_ci该文件中存储的据库是创建数据库时默认的字符集和字符集校验规则,则该数据库在以后创建表时如果没有指定字符集和校验规则,目录则该表的下面这两个属性将去自这两个表。
MySQL数据库目录下面的据库db.opt是干什么用的?
MySQL源码:
/* Set table default charset, if not set SYNOPSIS set_table_default_charset() create_info Table create information DESCRIPTION If the table character set was not given explicitely, let’s fetch the database default character set and apply it to the table. */ static void set_table_default_charset(THD *thd, HA_CREATE_INFO *create_info, char *db) { 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; }字符集和字符集校验规则
创建数据库时指定字符集和字符集校验规则:
create database if not exists test default charset utf8 default collate utf8_general_ci;修改数据库的字符集和字符集校验规则:
alter database test default [charset|character set ] latin1 default collate latin1_swedish_ci;创建数据库create database
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_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name总结
1、create database时会自动生成一个文件db.opt,目录存放的b2b信息网下面数据库的默认字符集,show create database时显示数据库默认字符集即db.opt中字符集。据库
2、目录这个文件丢失不影响数据库运行,下面该文件丢失之后新建表时,找不到数据库的默认字符集,就把character_set_server当成数据库的默认字符集,show create database时显示character_set_server字符集。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
很赞哦!(6)
相关文章
- 尽量不要在域名中出现特殊字符,这样的域名很容易导致访问者输入错误,同时给人留下不专业的印象,降低网站的可信度,并流失大量潜在客户。
- MySQL中Sp运行Check表版本更新流程解析
- 商汤港股上市,走出至暗时刻
- 为什么要避免在 Go 中使用 ioutil.ReadAll?
- 打开https://www.aizhan.com/输入自己想要查询的域名然后按回车键,如果做过网站都会有数据显示出来
- Tep 支持 MVC 架构实现用例数据分离
- 域名第三方交易什么意思?
- 阿里UC播放技术负责人徐慧书:音视频秒播技术优化
- 并非一个好米任何人都会给你一个好的价格。那你该如何用以有的好米卖出最理想的价格呢?
- .icu域名如何助力品牌塑造