mariadb mysql.user表格讲解

mysql.user合格表格包含了可以链接MariaDB服务器的用户信息和相关权限。这个表可以直接查询和可以直接被更新。常用的是使用

GRANT和CREATE USER去添加用户和管理权限。

MariaDB的权限存在许多级别。例如,一个用户可能不能使用create去创建用户,但是却可以去创建一些表格和数据。请参考privileges官网去查看更多的信息

PS:

MariaDB 10.3及其低版本,这个表使用的是MylSAM存储引擎

MariaDB 10.4及其高版本,mysql.global_priv表取代了mysql.user表。mysql.user则成为了一个试图。

mysql.user表包含了以下字段:

Field Type Null Key Default Description Introduced
Host char(60) NO PRI   地址,和user一起使用,提供帐号唯一标识  
User char(80) NO PRI   用户,和host一起使用,提供帐号唯一标识  
Password longtext (>= MariaDB 10.4.1), char(41) (<= MariaDB 10.4.0) NO    

哈希密码,由PASSWORD(str)函数生成

常见用法有:

SET PASSWORD FOR 'bob'@'%' = PASSWORD('newpass');
 
Select_priv enum('N','Y') NO   N 可执行SELECT操作  
Insert_priv enum('N','Y') NO   N 可执行PERFORM操作  
Update_priv enum('N','Y') NO   N 可执行UPDATE操作  
Delete_priv enum('N','Y') NO   N 可执行DELETE操作  
Create_priv enum('N','Y') NO   N 可CREATE DATABASE或者TABLE  
Drop_priv enum('N','Y') NO   N 可DROP DATABASE或者TABLE  
Reload_priv enum('N','Y') NO   N 可执行FLUSH操作  
Shutdown_priv enum('N','Y') NO   N 可执行SHUTDOWN Server的操作  
Process_priv enum('N','Y') NO   N

可执行SHOW PROCESSLIST操作去展示活跃进程的信息

 
File_priv enum('N','Y') NO   N

可使用LOAD DATA INFILE或者LOAD FILES在Server读写文件

 
Grant_priv enum('N','Y') NO   N 用户有关管理自己所有资源的授权  
References_priv enum('N','Y') NO   N 不可用  
Index_priv enum('N','Y') NO   N

可执行CREATE INDEX对表格创建index。

没有INDEX权限,用户可以使用CREATE TABLE或者ALTER TABLE去实现。

 
Alter_priv enum('N','Y') NO   N 可执行ALTER TABLE 操作  
Show_db_priv enum('N','Y') NO   N

执行SHOW DATABASES命令可列出所有的数据库。如果没有这个权限,则用户只能看到其拥有相应权限的数据库。

 
Super_priv enum('N','Y') NO   N

执行超级用户指令,如 CHANGE MASTER TO, KILL, PURGE LOGS,SET global system variables,或者mysqladmin debug指令。

 
Create_tmp_table_priv enum('N','Y') NO   N

可执行CREATE TEMPORARY TABLE去创建临时表格

 
Lock_tables_priv enum('N','Y') NO   N

可去LOCK TABLES的操作

 
Execute_priv enum('N','Y') NO   N

可执行stored procedure或者函数

 
Repl_slave_priv enum('N','Y') NO   N

slaver servers使用的用户在master上执行更新操作的账户

 
Repl_client_priv enum('N','Y') NO   N

可执行SHOW MASTER STATUS和SHOW SLAVE STATUS操作

 
Create_view_priv enum('N','Y') NO   N

可执行CREATE_VIEW去创建视图

 
Show_view_priv enum('N','Y') NO   N

可展示CREATE VIEW所生成的视图

 
Create_routine_priv enum('N','Y') NO   N

可使用CREATE PROCEDURE和CREATE FUNCTIONS指令去存储指令或者程序

 
Alter_routine_priv enum('N','Y') NO   N

可执行ALTER FUNCTION指令去改变一个存储的函数的特性

 
Create_user_priv enum('N','Y') NO   N

可使用CREATE USER命令去创建user,或者使用GRANT命令来隐式创建用户

 
Event_priv enum('N','Y') NO   N

创建,删除和改变事物

 
Trigger_priv enum('N','Y') NO   N

当用户执行更新,执行操作是可触发triggers。CREATE TRIGGER和DROP TRIGGER可以增加和删除触发。

 
Create_tablespace_priv enum('N','Y') NO   N    
Delete_history_priv enum('N','Y') NO   N

可删除有system versioning生成的行

MariaDB 10.3.5
ssl_type enum('', 'ANY', 'X509', 'SPECIFIED') NO     TLS option:TLS 类型  
ssl_cipher blob NO   NULL TLS option: TLS 密码  
x509_issuer blob NO   NULL TLS option: X509 密码  
x509_subject blob NO   NULL TLS option: SSL 主题  
max_questions int(11) unsigned NO   0

一个用户一个小时内可执行的查询最大次数。0是无限

 
max_updates int(11) unsigned NO   0

一个用户一个小时内可执行的更新操作最大次数。0是无限。

 
max_connections int(11) unsigned NO   0

一个用户一个小时内可建立的链接数最大数。0是无限。

 
max_user_connections int(11) NO   0

一个用户可同时建立的最大链接数。0是无限。

 
plugin char(64) NO    

链接是使用的认证插件。默认为default

MariaDB 5.5
authentication_string text NO   NULL

认证插件的认证字符串

MariaDB 5.5
password_expired enum('N','Y') NO   N

MySQL兼容项

 
is_role enum('N','Y') NO   N 定义这个用户是否是个角色 MariaDB 10.0.5
default_role char(80) NO   N

每个登陆用户默认的角色

MariaDB 10.1.1
max_statement_time decimal(12,6) NO   0.000000

查询被自动杀掉前最长时间

MariaDB 10.1.1
Field Type Null Key Default Description Introduced

认证插件

当plugin列为空时,MariaDB默认认证用户使用mysql_native_password或者mysql_old_password插件。这决定password这列的值时如何哈希的。当没有设置password或者4.1password哈希被使用,MariaDB使用mysql_native_password插件。mysql_old_password插件则被pre-4.1 password哈希所使用。

MariaDB支持可替换的认证插件。当插件列被指定,MariaDB使用其进行认证链接的尝试。

你可能感兴趣的:(mariadb)