Mysql学习总结(对比oracle)

时间:2022-05-15 14:53:40

1、体系结构

mysql体系结构如下:

Mysql学习总结(对比oracle)

mysql引擎和服务是分开的,系统的调优要分为二个部分,一个为服务的调整,另外一个为引擎的调优。

2、性能优化

1、oracle中的性能诊断statpack中类似功能

答:主要是打开慢查询,通过分析一段时间的慢查询来获得top N的语句。另外的需要mysqladmin来进行观察。

慢查询:

$ mysqldumpslow -s t slow.log > slow.time.log
$ mysqldumpslow -s c slow.log > slow.count.log

mysqladmin监控:

Mysql学习总结(对比oracle)

执行引擎的状态:

mysql和oracle的体系结构不一样,引擎的具体状态需要各个厂家来提供,常用的innodb的状态,可以用如下命令来查看:SHOW ENGINE INNODB STATUS;

2、oracle中的执行计划

答:mysql也有,用EXPLAIN [EXTENDED] SELECT ...

3、mysql中的内存优化

答:主要也引擎有关,常见的INNODB,依据对应的文档设置即可

4、mysql修改配置文件(类spfile)

答:my.cnf文件,可以通过show variables查看当前配置状态。

3、日常维护

1、如何杀掉一个占用mysql资源非常多的线程

答:1、show processlist;   2、kill pid;

2、删除数据如何释放空间

答:原理和oracle基本一样,删除不释放。常用innodb引擎,创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间

4、备份和恢复

mysql服务器是高层级别的抽象,只能提供逻辑备份和恢复,时间点的恢复是基于日志进行。热备份处理都和对应的引擎有关。

服务器提供的备份

1、逻辑全备份和恢复

答:mysqldump,支持逻辑全备份,逻辑全恢复

2、时间点恢复

答:mysqlbinlog,逻辑基于时间点恢复

引擎提供备份工具

1、InnoDB引擎提供Xtrabackup

2、MyISAM存储引擎提供mysqlhotcopy

3、使用mysql的主从复制机制

5、日常使用

待补充

6、其他

mysql的基于日志的master slave是一大特色