001、MySQL简介

MySQL四模块:

  1. MySQL的体系结构
  2. MySQL的备份恢复
  3. MySQL的主从架构
  4. MySQL优化

MySQL区别与其他数据库不同点:

  1. MySQL插件式存储引擎(innodb)
  2. MySQL开源协议(GPL协议)
  3. MySQL replication的应用(MySQL复制的功能,针对binlog)
  4. MySQL第三方工具很完善(比如被称为瑞士军刀的percona工具)
  5. MySQL社区活跃
  6. MySQL在互联网中广泛应用
MySQL的server层是由c++编写,存储引擎层是由c编写。
 

如何学好MySQL,如何做好一名dba

  1. 软素质:学好系统(Linux:内存,CPU,IO),数据库(安装,体系结构,备份恢复,优化,参数设置,故障排查),硬件层面(raid级别,bios,cache层面),设计层次(表结构,字段类型的选择,索引)
  2. 硬素质:抗压能力,反应快,会猜(出现问题要能够猜出大致哪里的问题),英语阅读能力,团队协作能力,表达能力与自信心,流程化,了解市场情况(技术网站)
 
软素质+应素质=好的dba
 
free -m:查看内存,当swap空间使用到的时候才能说明内存不够用了。
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2011        584       1426          0         30        327
-/+ buffers/cache:        227       1784
Swap:         3999          0       3999
 
top:查看cpu,io等性能。
top - 22:22:54 up 5 min,  3 users,  load average: 0.05, 0.33, 0.19
Tasks: 119 total,   2 running, 117 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.3%hi,  0.7%si,  0.0%st
Mem:   2059580k total,   599556k used,  1460024k free,    31356k buffers
Swap:  4095992k total,        0k used,  4095992k free,   335028k cached


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                              
    1 root      15   0 10348  724  608 S  0.0  0.0   0:00.62 init                                  
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0                           
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                           
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                            
    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.37 events/0                              
    6 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper                               
   23 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread                               
   27 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kblockd/0                             
   28 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid                                
   65 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0                              
   68 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 khubd                                 
   70 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod                               
  138 root      15   0     0    0    0 S  0.0  0.0   0:00.00 khungtaskd                            
  139 root      25   0     0    0    0 S  0.0  0.0   0:00.00 pdflush                               
  140 root      15   0     0    0    0 S  0.0  0.0   0:00.07 pdflush 
如何下载MySQL

进入官网:www.mysql.com

 往下找到community版本的,即社区版本,基于开源协议(GPL)的。

找到MySQL Community Server (GPL)

 往下找平台和数据库版本

 这里选择Linux-Generic
 选择下载.tar.gz的,这种是二进制安装,方便。
 

MySQL数据库分类和版本

MySQL版本采用双授权政策,分为社区版和商业版,这两个版本又各自分四个版本依次发布。
分为:alpha版,beat版,rc版,GA版。
  • alpha版本:刚研发出来,未经测试
  • beat版本:经过简单的测试环境,并不是很完善。
  • rc版本:经过很多的测试,但是仍然有bug存在,需要原厂打补丁。
  • GA版本:经过大量测试,比较稳定的版本。
MySQL商业版,由MySQL公司发布,同时参考社区版的先进算法和功能,是MySQL公司的盈利产品,需要付费使用。
MySQL社区版,由MySQL的爱好者参与开发测试,完成软件的管理测试,社区设立bug汇报机制,收集bug。免费使用。
 
MySQL版本的选择:
  • MySQL5.0~5.1,默认存储引擎是myisam
  • MySQL5.4~5.7,MySQL5.5之后的默认存储引擎是innodb
  • MySQL6.0~7.0,主要是MySQL cluster
建议选择MySQL版本:
  1. 建议选择开源的社区版GA版本
  2. 选择MySQL数据库GA版本发布后6个月以上的GA版本
  3. 选择前后几个月没有大的BUG修复的版本,而不是bug集中修复的版本
  4. 考虑开发人员开发程序使用的版本是否兼容你选的版本,作为内部开发测试数据库环境,测试3到6个月。

MySQL数据库和实例的区分

MySQL是一个单进程多线程的数据库。
数据库:
物理操作系统文件或者其他形式文件类型的集合,在MySQL中,数据库文件可以是frm,myd,ibd结尾的文件。
数据库实例:
由数据库后台进程(单进程)/线程(多线程)以及一个共享内存区组成,数据库实例是用来操作数据库文件的,MySQL是一个单进程多线程模型的数据库。
两者关系是一对一,一对多。即一个实例可以对应多个数据库文件。





posted @ 2021-06-02 09:54  有点菜大人  阅读(87)  评论(0)    收藏  举报