文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql关于db.opt文件的总结

2024-04-02 19:55

关注

总结

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

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




mysql> show variables like 'character_set_server';

+----------------------+--------+

| Variable_name        | Value  |

+----------------------+--------+

| character_set_server | latin1 |

+----------------------+--------+


test1库没有指定字符集,使用character_set_server值

mysql> create database test1; 

[root@mydb test1]# cat /var/lib/mysql/test1/db.opt

default-character-set=latin1

default-collation=latin1_swedish_ci


test2库指定了字符集utf16

mysql> create database test2 character set=utf16;

[root@mydb test1]# cat /var/lib/mysql/test2/db.opt

default-character-set=utf16

default-collation=utf16_general_ci



test1库的默认字符集latin1,show create database显示默认字符集latin1

tab1表使用数据库默认字符集latin1

mysql> show create database test1;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| test1    | CREATE DATABASE `test1` |

+----------+------------------------------------------------------------------+

mysql> create table test1.tab1 (hid int);


test1库的没有了默认字符集,因为db.opt文件不存在了,show create database显示character_set_server字符集latin1

tab2表没有办法使用数据库默认字符集,使用character_set_server字符集latin1

[root@mydb test1]# mv db.opt db.opt20181015

[root@mydb test1]# service mysqld restart

mysql> show create database test1;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| test1    | CREATE DATABASE `test1` |

+----------+------------------------------------------------------------------+

mysql> create table test1.tab2 (hid int);


test1库的没有了默认字符集,因为db.opt文件不存在了,show create database显示character_set_server字符集latin7

tab2表没有办法使用数据库默认字符集,使用character_set_server字符集latin7

[root@mydb test1]# vi /etc/my.cnf

[mysqld]

character_set_server=latin7

[root@mydb test1]# service mysqld restart

mysql> show create database test1;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| test1    | CREATE DATABASE `test1` |

+----------+------------------------------------------------------------------+

mysql> create table test1.tab3 (hid int);


test1库的默认字符集latin1,show create database显示默认字符集latin1

tab4表使用数据库默认字符集latin1

[root@mydb test1]# mv db.opt20181015 db.opt

[root@mydb test1]# service mysqld restart

mysql> show create database test1;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| test1    | CREATE DATABASE `test1` |

+----------+------------------------------------------------------------------+

mysql> create table test1.tab4(hid int);




tab1表使用数据库默认字符集latin1

mysql> show create table test1.tab1;

+-------+-------------------------------------------------------------------------------------------+

| Table | Create Table                                                                              |

+-------+-------------------------------------------------------------------------------------------+

| tab1  | CREATE TABLE `tab1` (

  `hid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------+-------------------------------------------------------------------------------------------+


tab2表使用character_set_server字符集latin1

mysql> show create table test1.tab2;

+-------+-------------------------------------------------------------------------------------------+

| Table | Create Table                                                                              |

+-------+-------------------------------------------------------------------------------------------+

| tab2  | CREATE TABLE `tab2` (

  `hid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------+-------------------------------------------------------------------------------------------+


tab3表使用character_set_server字符集latin7

mysql> show create table test1.tab3;

+-------+-------------------------------------------------------------------------------------------+

| Table | Create Table                                                                              |

+-------+-------------------------------------------------------------------------------------------+

| tab3  | CREATE TABLE `tab3` (

  `hid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin7 |

+-------+-------------------------------------------------------------------------------------------+


tab4表使用数据库默认字符集latin1

mysql> show create table test1.tab4;

+-------+-------------------------------------------------------------------------------------------+

| Table | Create Table                                                                              |

+-------+-------------------------------------------------------------------------------------------+

| tab4  | CREATE TABLE `tab4` (

  `hid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------+--------------------------------

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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