MySQL的系统数据库
使用MySQL客户端操作数据库时,只要稍微留神都会发现,除了我们建的库之外,还经常看到这个系统数据库的影子:
information_schema
performance_schema
mysql
sys
数据库元数据(metadata)就是描述数据的数据,在MySQL中就是描述database的数据。有哪些数据库、每个表有哪些表、表有多少字段、字段是什么类型、访问权限等等。
INFORMATION_SCHEMA提供对数据库元数据的访问,关于MySQL服务器的信息,例如数据库或表的名称,列的数据类型或访问权限。
PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数。提供以下功能:
1.提供进程等待的详细信息,包括锁、互斥变量、文件信息;
2.保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;
3.对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)
通过以上得到的信息,DBA能够较明细得了解性能降低可能是由于哪些瓶颈。
mysql是核心数据库,类似于sql server中的master表,主要负责存储数据库的用户(账户)信息、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。
sys 是mysql 5.7增加的系统数据库,这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据。
sys数据库里面包含了一系列的存储过程、自定义函数以及视图来帮助我们快速的了解系统的元数据信息。
test,早先版本系统自动创建的测试数据库,是一个空数据库,没有任何表,可以删除。5.7版官方已经删除了test数据库。