MySQL面试宝典-文件篇

一.请简述MySQL配置文件的加载顺序?

二.MySQL启动时如果找不到配置(参数)文件,会报错还是启动?

三.如何查看MySQL参数?

四.如何修改MySQL参数?

五:MySQL有哪些类型表空间,简述各自作用?

六:请简述MySQL redo log和binlog区别?

一.请简述MySQL配置文件的加载顺序?

MySQL读取配置文件的顺序

读取顺序:/etc/mysql/my.cnf>/etc/my.cnf>~/.my.cnf

命令验证:

方法1:

[mysql@mysql01 bin]$ mysql --help|grep my.cnf
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
[mysql@mysql01 bin]$ mysql --verbose --help | grep my.cnf
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
                      order of preference, my.cnf, $MYSQL_TCP_PORT,

方法2:

[mysql@mysql01 bin]$ my_print_defaults --help|grep -A2 -B2 my.cnf
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
Variables (--variable-name=value)

二.MySQL启动时如果找不到参数文件,会报错还是启动?

MySQL数据库参数文件的作用和Oracle数据库的参数文件极其类似,不同的是,Oracle实例在启动时若找不到参数文件,是不能进行装载(mount)操作。

MySQL稍微有所不同,MySQL实例可以不需要参数文件,这时所有的参数值取决于编译MySQL时指定的默认值和源代码中指定参数的默认值。

如果MySQL实例在默认的数据库目录下找不到mysql架构,则启动同样会失败。

三.如何查看MySQL参数?

可以把数据库参数看成一个键/值(key/value)对。

可以通过命令SHOW VARIABLES查看数据库中的所有参数,也可以通过LIKE来过滤参数名。

从MySQL 5.1版本开始,还可以通过information_schema架构下的GLOBAL_VARIABLES视图来进行查找。

show variables like '%timeout%';
mysql> SHOW [{GLOBAL|SESSION}] VARIABLES [LIKE ''];
mysql> SELECT @@{GLOBAL|SESSION}.VARIABLE_NAME;
mysql> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';
mysql> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';

通过配置文件查看参数

cat /etc/my.cnf|grep -i "VARIABLE_NAME"

四.如何修改MySQL参数?

会话级别修改:

set session innodb_lock_wait_timeout=50;

对当前会话立即生效,退出后,参数失效,不影响后续的会话

全局级别修改:

set global innodb_lock_wait_timeout=50;

当前会话不生效,对后续连接进来的会话生效

修改配置文件

五:MySQL有哪些类型表空间,简述各自作用?

MySQL有五种表空间:

系统表空间(也叫共享表空间) 、独立表空间 、临时表空间 、undo表空间 、通用表空间。

1.系统表空间

主要用来存放undo信息、insert buffer 索引页、double write buffer 等数据。

系统表空间系统表空间(system tablespace)是在初始化mysql实例时生成的,读取my.cnf中的innodb_data_fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值