mysql自带内置库说明

说明

5.6版本自带的库为:information_schema、mysql、performance_schema、test
5.7版本自带库为:information_schema、mysql、performance_schema、sys

information_schema

information_schema提供了访问数据库元数据的方式。(元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有时用于表述该信息的其他术语包括“数据词典”和“系统目录”。)
换句换说,information_schema是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息。(如数据库名,数据库的表,表栏的数据类型与访问权 限等。) 在INFORMATION_SCHEMA中,有几张只读表。它们实际上是视图,而不是基本表。

查看具体表:

TABLES:提供了关于数据库中的表的信息(包括视图),详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息,show tables from schemaname的结果取之此表。
COLUMNS:提供了表中的列信息,详细表述了某张表的所有列以及每个列的信息,show columns from schemaname.tablename的结果取之此表。
STATISTICS:提供了关于表索引的信息,
show index from schemaname.tablename的结果取之此表。
USER_PRIVILEGES(用户权限):给出了关于全程权限的信息,该信息源自mysql.user授权表(非标准表)。
SCHEMA_PRIVILEGES(方案权限):给出了关于方案(数据库)权限的信息,该信息来自mysql.db授权表(非标准表)。
TABLE_PRIVILEGES(表权限):给出了关于表权限的信息,该信息源自mysql.tables_priv授权表(非标准表)。
COLUMN_PRIVILEGES(列权限):给出了关于列权限的信息,该信息源自mysql.columns_priv授权表(非标准表)。
CHARACTER_SETS(字符集):提供了mysql实例可用字符集的信息,SHOW CHARACTER SET结果集取之此表。
COLLATIONS:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY:指明了可用于校对的字符集,这些列等效于SHOW COLLATION的前两个显示字段。
TABLE_CONSTRAINTS:描述了存在约束的表,以及表的约束类型。
KEY_COLUMN_USAGE:描述了具有约束的键列。
ROUTINES:提供了关于存储子程序(存储程序和函数)的信息,此时,ROUTINES表不包含自定义函数(UDF),名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。
VIEWS:给出了关于数据库中的视图的信息,需要有show views权限,否则无法查看视图信息。
TRIGGERS:提供了关于触发程序的信息,必须有super权限才能查看该表。

mysql

mysql的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。(通常用户信息、修改用户的密码、删除用户及分配权限等就是在mysql数据库的user表中)。

用户列(用户连接MySQL数据库需要输入的信息)
Host:主机名,双主键之一,值为%时表示匹配所有主机。User:用户名,双主键之一。Password:密码名。

HostUserPassword
%domain_check*55B565DA3839E5955A68EA96EB735
localhostdomain_check*55B565DA3839E5955A68EA96EB735
127.0.0.1domain_check*55B565DA3839E5955A68EA96EB735
126.26.98.25domain_check*55B565DA3839E5955A68EA96EB735
localhost
::1root*26C378D308851D5C717C13623EFD6
localhostroot*26C378D308851D5C717C13623EFD6
127.0.0.1root*26C378D308851D5C717C13623EFD6

(root,%),表示可以远程登录,并且是除服务器外的其他任何终端,%表示任意IP都可登录。
(root,localhost), 表示可以本地登录,即可以在服务器上登陆,localhost则只允许本地登录。
(root,127.0.0.1 ),表示可以本机登陆,即可以在服务器上登陆
(root,sv01),表示主机名为sv1可以登陆,sv01具体指的哪台机器,可以在cat /etc/hostname查看
(root,::1) , 表示本机可以登陆, 看密码都是相同嘛,具体::1代表意义,待查

在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有:
1、user表: 用户列、权限列、安全列、资源控制列
2、db表 : 用户列、权限列
3、host表
4、table_priv表
5、columns_priv表
6、proc_priv表

PS: 要更改权限表的内容,推荐使用帐号管理语句(如:CREATE USER、GRANT、REVOKE等)来间接修改,不建议直接使用DML语句修改权限表,否则后果自负

performance_schema

主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.7默认是开启的。

setup_table :设置表,配置监控选项。
current_events_table : 记录当前那些thread 正在发生什么事情。
history_table : 发生的各种事件的历史记录表
summary_table : 对各种事件的统计表
setup_consumers\ Setup_instruments : 描述各种事件, 设置哪些事件能够被收集
setup_instruments : 描述这个数据库下的表名以及是否开启监控。
setup_timers : 描述 监控选项已经采样频率的时间间隔
Threads : 监控服务器所有连接
Performance_timers : 设置一些监控信息, 指定mysql服务可用的监控周期,CYCLE表示按每秒检测2603393034次, 目前 performance-schema 只支持 ‘wait’ 时间的监控,代码树上 wait/ 下的函数都可以监控到。

sys

Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。

test

test库在MySQL中特殊存在,一般部署完mysql后应当删除该库,并规定不能创建以test和test_字符开头的数据库。因为在mysql中,test库对任意用户都有管理员权限,因此,线上数据库不要用test。如果已有test,添加用户时想要禁止对test库的权限,可以在mysql.db表中添加这个新用户,禁止所有权限,或者删除该表中user为空的记录,并刷新权限

select * from mysql.db where db=‘test’ \G ; (\G代表竖的展示)
img
在测试用户权限时,也不要在test库中测试

参考文章:
https://www.cnblogs.com/xiaoerlaigeshao/p/10620088.html
https://blog.csdn.net/dj673344908/article/details/80482844

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Web

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值