linux运维工程师面试常见问题整理1--mysql相关

一.mysql 数据库相关

  1. 主从原理是什么

    从库生成两个线程,一个I/O线程,一个SQL线程;

    i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;

    主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

    SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

  2. 主从原理图解释
    在这里插入图片描述

  3. mysql 用了什么引擎

    Innodb引擎

    MyIASM引擎

  4. 主从同步异常怎么解决

    设置MySQL双一模式,将需要同步的数据保存到磁盘中。

    innodb_flush_log_at_trx_commit

    如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。

    如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去.

    如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。

    sync_binlog

    sync_binlog 的默认值是0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。

    当sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去。

  5. 主从同步,主服务器宕机怎么处理

    可用keepalived做主从,主宕机可以切到优先级高的服务器,让优先级高的服务器做主。

  6. 数据库完整备份增量备份命令

    MySQLdump -uroot -ppassword 1601G > backup.bak

    MySQLdump -uroot -ppassword 1601G >> backup.bak

  7. 数据库备份与还原

    mysqldump命令做备份

    mysql命令做还原

  8. mysql 优化做了哪些

    MySQL内核优化

    MySQL配置参数优化,此优化需要进行压力测试来进行参数调整

    对SQL语句以及表优化

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/83860583