加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL数据库目次下面的db.opt是干什么用的?

发布时间:2019-08-24 23:50:05 所属栏目:编程 来源:波波说运维
导读:概述 MySQL数据库存放数据目次里的db.opt文件是MySQL建库进程中自动天生的。 仔细的伴侣也许会发明偶然辰在MySQL数据库的某些库目次下有个db.opt文件,那这个文件是干什么用的呢?假如你用记事本等编辑器打开看的话,内容很简朴,是用来记录该库的默认字符

概述

MySQL数据库存放数据目次里的db.opt文件是MySQL建库进程中自动天生的。

仔细的伴侣也许会发明偶然辰在MySQL数据库的某些库目次下有个db.opt文件,那这个文件是干什么用的呢?假如你用记事本等编辑器打开看的话,内容很简朴,是用来记录该库的默认字符集编码和字符集排序法则用的。

db.opt

MySQL的每个数据库目次中有一个文件db.opt,该文件首要 用来存储当前数据库的默认字符集和字符校验法则。

  1. default-character-set=utf8  
  2. default-collation=utf8_general_ci 

该文件中存储的是建设数据库时默认的字符集和字符集校验法则,则该数据库在往后建设表时假如没有指定字符集和校验法则,则该表的这两个属性将去自这两个表。

MySQL数据库目次下面的db.opt是干什么用的?

MySQL源码:

  1. /* Set table default charset, if not set  
  2. SYNOPSIS  
  3. set_table_default_charset()  
  4. create_info Table create information  
  5. DESCRIPTION  
  6. If the table character set was not given explicitely,  
  7. let’s fetch the database default character set and  
  8. apply it to the table. */  
  9. static void set_table_default_charset(THD *thd,  
  10. HA_CREATE_INFO *create_info, char *db)  
  11. {  
  12. if (!create_info->default_table_charset)  
  13. {  
  14. HA_CREATE_INFO db_info;  
  15. load_db_opt_by_name(thd, db, &db_info);  
  16. create_info->default_table_charset= db_info.default_table_charset;  

字符集和字符集校验法则

建设数据库时指定字符集和字符集校验法则:

  1. create database if not exists test default charset utf8 default collate utf8_general_ci; 

MySQL数据库目次下面的db.opt是干什么用的?

MySQL数据库目次下面的db.opt是干什么用的?

修改数据库的字符集和字符集校验法则:

  1. alter database test default [charset|character set ] latin1 default collate latin1_swedish_ci; 

建设数据库create database

  1. CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name  
  2. [create_specification] …  
  3. create_specification:  
  4. [DEFAULT] CHARACTER SET [=] charset_name  
  5. | [DEFAULT] COLLATE [=] collation_name 

也可以通过alter database修改

  1. ALTER {DATABASE | SCHEMA} [db_name]  
  2. alter_specification …  
  3. alter_specification: 
  4.  [DEFAULT] CHARACTER SET [=] charset_name  
  5. | [DEFAULT] COLLATE [=] collation_name 

总结

1、create database时会自动天生一个文件db.opt,存放的数据库的默认字符集,show create database时表现数据库默认字符集即db.opt中字符集。

2、这个文件丢失不影响数据库运行,该文件丢失之后新建表时,找不到数据库的默认字符集,就把character_set_server当成数据库的默认字符集,show create database时表现character_set_server字符集。

后头会分享更多devops和DBA方面的内容,感乐趣的伴侣可以存眷下~

【编辑保举】

  1. 收集带宽怎样影响 MySQL 机能
  2. MongoDB数据库误删后的规复
  3. 删库不跑路-详解MySQL数据规复
  4. 超具体的Oracle数据库索引建设及索引重建改观类型
  5. 深入浅出MySQL索引的那些事儿
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读