mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

这个非常简单,MySQL数据库的用户信息、数据库信息和登录IP信息通常都保存在系统数据库中,可以直接经过查询得到,下面我简单介绍一下,以MySQL5.5为例:

用户信息

这个主要保存在mysql数据库的user表中,通常修改用户的密码、删除用户及分配权限等就是在这个表进行,下面我简单介绍一下:

  • 查询所有用户

这个直接执行“select user,host from user;”语句就行,如下,第一列为用户名,第二列为允许登录的IP,%表示任意IP都可登录,localhost则只允许本地登录:

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

  • 查询用户权限

这个直接执行“ show grants for 'user'@'host'; ”命令就行,如下,以root用户为例,则直接执行“ show grants for 'root'@'localhost'; ”命令,all表示所有权限,select表示只查权限,update表示只改权限,delete表示只删权限等:

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

数据库信息

这个主要保存在information_schema数据库中,它通常保存着MySQL数据库所维护的所有数据库信息,包括数据库名,数据表名,表栏的数据类型与访问权限等,下面我简单介绍一下:

  • 查询所有数据库

这个直接执行“show databases;”命令就行,如下,会列出当前MySQL数据库中存储的所有数据库,查看某一个数据库下所有数据表的话,执行“show tables;”命令就行:

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

  • 查看数据库大小

以test数据库为例,计算单位为MB,直接执行“select concat(round(sum(data_length)/(1024*1024),2)+round(sum(index_length)/(1024*1024),2),'MB') as 'DB Size' from tables where table_schema='test';”命令就行,如下:

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

  • 查看数据库编码

这个直接执行“show variables like 'character%';”命令就行,如下,character_set_client为客户端编码,character_set_connection为建立连接编码,character_set_database为数据库编码,character_set_results为结果集编码,character_set_server为数据库服务器编码;

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

登录IP信息

这里通常是查看连接MySQL数据库的IP信息,统计每个IP的连接数,执行“select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip”命令就行,如下,第一列为IP地址,第二列为该IP下的连接数:

mysql数据库如何获得用户、数据库、登录IP等信息(mysql查看用户可访问的数据库)

至此,我们就完成了查询MySQL数据库的用户信息、数据库信息和登录IP信息。总的来说,整个过程非常简单,只要你有一定的MySQL基础,熟悉一下相关文档和说明,很快就能掌握的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论