文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-24 23:53

关注

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.   
  2. static void set_table_default_charset(THD *thd,  
  3. HA_CREATE_INFO *create_info, char *db)  
  4.  
  5. if (!create_info->default_table_charset)  
  6.  
  7. HA_CREATE_INFO db_info;  
  8. load_db_opt_by_name(thd, db, &db_info);  
  9. create_info->default_table_charsetdb_info.default_table_charset;  

字符集和字符集校验规则

创建数据库时指定字符集和字符集校验规则: 

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

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

  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 

总结

create database时会自动生成一个文件db.opt,存放的数据库的默认字符集,show create database时显示数据库默认字符集即db.opt中字符集。

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

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯