ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Mysql数据库3

Mysql数据库3 21. 对于 InnoDB 系统表空间它保存有哪些数据默认的存放位置和文件名称是什么系统表空间保存 InnoDB 数据字典、double‑write buffer、change buffer、undo 日志旧版本还可以存放用户表数据。默认存放在 MySQL 的数据目录下默认文件名ibdata1。22. 请给出单表文件表空间和通用表空间的区别以及各自的适用场合。单表文件表空间per‑table每张 InnoDB 表对应独立.ibd文件删除表空间会释放磁盘空间支持表空间迁移。适合大多数业务表表数量多、需要单独迁移表、删除大表释放磁盘空间的场景。通用表空间多个表共用同一个表空间文件删除表不会自动释放磁盘空间可以存放多张不同库的表。适合大量小表合并减少文件数量降低文件句柄消耗。23. 对于通用表空间类型每个表空间有且仅有一个数据文件这个表述对不对正确。一个通用表空间对应一个.ibd数据文件多张表可以存放在这同一个文件内。24.innodb_data_file_path 和 innodb_file_per_table 这两个参数各自的作用是什么innodb_data_file_path配置系统表空间 ibdata1的文件名、初始大小、自动扩展属性。innodb_file_per_table开启后每张 InnoDB 表使用独立的单表.ibd表空间关闭则用户表全部存进系统表空间 ibdata1。MySQL8.0 默认开启。25. 请说明重做 (redo) 和还原 (undo) 各自在 MySQL 数据库中的作用。redo log重做日志崩溃恢复事务提交时刷 redo保证已经提交事务的数据不丢失崩溃重启把内存中没刷到磁盘的数据重新重做保障持久性。undo log回滚日志事务回滚执行 rollback 依靠 undo 回退数据提供 MVCC 多版本并发控制生成数据旧版本快照实现读不加锁。26. 请比较 MySQL 全局内存和会话内存的不同点。全局内存服务启动时一次性分配所有会话共享服务运行期间全局共用例如 buffer pool、change buffer。会话内存每个客户端连接会话独立分配会话建立分配会话断开释放每个连接互相隔离例如 sort_buffer_size、join_buffer_size。27. 要显示已配置的服务器选项可以有哪几种方法分别举例说明。show variables;SQL 命令查看系统变量例show variables like innodb%;mysqld --verbose --help命令行查看启动参数select 变量名;例select innodb_buffer_pool_size;读取 my.cnf 配置文件查看静态配置。28. 给出在 Linux 系统上的标准选项文件的名称和保存的位置。配置文件名my.cnf读取优先级路径/etc/my.cnf→/etc/mysql/my.cnf→~/.my.cnf用户家目录隐藏配置文件29. 请说明选项文件中的 [client] 和 [server] 组的适用范围。[client]作用于所有客户端程序mysql、mysqldump 等客户端工具不影响 mysqld 服务端。[server]作用于 MySQL 服务端程序 mysqld只对数据库服务生效客户端不读取该组。30. 如果在多个配置文件中指定了一个相同的选项值或者在同一配置文件内的多个组中指定了相同的选项值系统如何处理MySQL 按照配置文件读取顺序后读取的配置覆盖前面读取的配置同一个文件内部靠后的组配置覆盖前面组的相同选项后加载配置优先级更高。31. 请说明 --no‑defaults 命令行长选项的作用--no-defaults启动选项禁止读取任何 my.cnf/my.ini 配置文件只使用命令行传入的参数启动 MySQL 程序。多用于排错避免配置文件错误干扰服务启动。32.MySQL 维护的变量从作用域分为 GLOBAL 和 SESSION从功能上分为动态和持久的你是如何理解的作用域GLOBAL全局变量对整个 MySQL 服务生效新连接才会读取修改后的全局值已经存在的会话不受影响。SESSION会话变量仅对当前客户端连接生效连接断开失效。功能分类动态变量服务运行时可以使用set命令在线修改不需要重启数据库。持久变量动态修改同时写入数据字典MySQL8.0 支持set persist重启后配置依旧生效普通动态 set global 重启失效。33. 要查看系统变量有哪几种常用的办法举例说明SHOW VARIABLES;查看全部变量SHOW VARIABLES LIKE %buffer%;模糊匹配SELECT GLOBAL.变量名; SELECT SESSION.变量名;示例select global.max_connections;mysqld --verbose --help命令行查看启动变量查询performance_schema.session_variables系统表34. 在同一台服务器上启动多个 mysqld 实例时必须要隔离的对象有哪些端口 port每个实例端口不能重复socket 套接字文件pid 进程文件独立的数据 data 目录日志文件binlog、error log、slowlog 等内存参数防止内存耗尽35.MySQL 服务器都提供了哪几种类型的日志文件说明每种日志的用途错误日志 error log记录启动、关闭、运行报错、警告信息故障排查。二进制日志 binlog记录 DDL/DML 修改数据 SQL用于主从复制、数据恢复。通用查询日志 general log记录所有客户端全部接入和执行 SQL用于审计。慢查询日志 slow query log记录执行耗时超过阈值的 SQLSQL 性能优化。redo log 重做日志InnoDB 崩溃恢复保障事务持久性。undo log 回滚日志事务回滚、MVCC 多版本。36.MySQL 8.0 默认启用哪两种日志记录错误日志error log、二进制日志binlog默认开启通用日志、慢查询日志默认关闭。37. 请说明常规查询日志和慢速查询日志在记录的内容上有何不同通用查询日志general log记录所有客户端执行的全部 SQL 语句无论快慢包含连接、断开信息量巨大。慢查询日志slow query log只记录执行时间超过long_query_time阈值的 SQL用于定位慢 SQL不会记录全部语句。38. 如何配置才能将慢速查询日志和常规查询日志在文件和表里同时保存开启log_output FILE,TABLEFILE日志输出到磁盘日志文件TABLE日志写入 mysql 库下的系统表general_log、slow_log 设置该参数后通用日志、慢查询日志会同时写文件 写数据库表。39. 从 DBA 的角度谈一下使用 Performance schema 的目的或作用Performance_schema 是 MySQL 性能监控库用于采集数据库运行时性能数据DBA 用来定位性能瓶颈监控 SQL 耗时、锁等待、IO 消耗、线程状态、内存占用排查慢查询、锁冲突、资源竞争问题做数据库性能调优。40.Performance schema 中的顶级检测组件都有哪些instruments检测采集器事件、函数、锁、IO 等采集点consumers消费者控制采集数据保存tables各类事件结果表存放采集完成的数据包含等待事件、语句事件、阶段事件、内存事件等。
返回列表