MySQL权限表都有哪些

合集下载

mysql8授权语法

mysql8授权语法

mysql8授权语法MySQL 8的授权语法如下:GRANT privileges ON database.table TO 'user'@'host' [WITH GRANT OPTION]其中,privileges指的是用户拥有的权限,常见的权限有:- ALL PRIVILEGES:所有权限- SELECT:查询权限- INSERT:插入权限- UPDATE:更新权限- DELETE:删除权限- CREATE:创建权限- DROP:删除权限- GRANT OPTION:赋予其他用户权限的权限database.table指的是要授权的数据库和表,可以使用*来表示所有数据库或表。

'user'@'host'指的是要授权的用户和主机,可以使用*表示所有用户或主机。

WITH GRANT OPTION表示授予用户赋予其他用户权限的权限,不需要授予此项权限时可以省略。

以下是一些示例:- 授予用户admin在所有数据库上拥有所有权限:GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';- 授予用户guest在数据库test上拥有查询和插入权限:GRANT SELECT, INSERT ON test.* TO 'guest'@'localhost';- 授予用户developer在数据库test上拥有更新和删除权限,并且可以赋予其他用户权限:GRANT UPDATE, DELETE ON test.* TO 'developer'@'localhost' WITH GRANT OPTION;- 撤销用户guest在数据库test上的所有权限:REVOKE ALL PRIVILEGES ON test.* FROM 'guest'@'localhost';。

mysql规格参数

mysql规格参数

mysql规格参数MySQL是一种流行的开源关系型数据库管理系统,具有丰富的功能和配置选项。

以下是一些常见的MySQL规格参数:1. character_set_server:指定服务器默认字符集。

2. collation_server:指定服务器默认排序规则。

3. max_connections:指定同时允许的最大连接数。

4. max_allowed_packet:指定每个数据包的最大大小。

5. innodb_buffer_pool_size:指定InnoDB存储引擎使用的内存缓冲池大小。

6. innodb_log_file_size:指定InnoDB存储引擎的日志文件大小。

7. query_cache_size:指定查询缓存的大小。

8. join_buffer_size:指定连接缓冲区的大小。

9. innodb_file_per_table:指定是否为InnoDB存储引擎的每个表使用单独的表空间文件。

10. innodb_flush_log_at_trx_commit:指定InnoDB存储引擎的事务日志刷新策略。

11. key_buffer_size:指定MyISAM存储引擎的键缓冲区大小。

12. tmp_table_size:指定临时表的最大大小。

13. table_open_cache:指定打开表的缓存大小。

14. innodb_lock_wait_timeout:指定InnoDB存储引擎锁等待的超时时间。

这些规格参数可以通过修改MySQL的配置文件(如f或my.ini)来进行调整。

请注意,修改这些参数可能会对MySQL的性能和稳定性产生影响,因此在进行更改之前,建议先了解它们的含义和适用场景,并进行适当的测试和调整。

Linux1 用户的创建和删除

Linux1  用户的创建和删除

Linux1 用户的创建和删除首次安装MySQL时,MySQL会自动授予用户都可以从本地连接MySQL服务器。

但只有MySQL管理员root才可以完全访问系统中的索引数据库(默认只有test 和mysql两个数据库),而其他用户只能访问test数据库。

前面提到过,默认的数据库MySQL中有5个授权表(表4-6),MySQL由安装程序自动设置。

这5个授权表共同决定哪个用户可以连接服务器、连接方式及连接后可以执行哪些操作。

初始化时,表host、table_priv和columnts_priv是空的,表user和db就决定了MySQL默认的访问规则。

下面以MySQL管理员身份查看表user和db的内容。

表4-6 MySQL中的5个授权表要查看数据库MySQL中的表user前4个字段的内容,可使用“select host,user,password,select_priv from er;”命令。

命令中“er”的含义是数据库MySQL中的表user。

如果事先使用命令use MySQL选择了当前使用的数据库,则可以将“use mysql”简化为“user”,该命令执行情况如图4-37所示。

图4-37 MySQL中表user的前4个字段内容如图4-37所示,第1条表明MySQL授予用户root可以从本地(localhost)连接到数据库服务器,并对服务器中所有数据库都拥有完全控制的权限(从表user的第4个字段起的所有关于权限的字段值都是…Y‟);第2条记录表明,任何其他用户(对于表user中的字段user值为空,相当于匿名用户)也可以从本地(localhost或localhost.localadmin)连接到数据库,但对系统中的所有数据库都没有访问权限(从表user的第4个字段起的所有关于权限的字段值都是…N‟)。

要查看数据库MySQL中表db的前4个字段内容,可在终端中输入“select host,db,user,select_priv from mysql.db;”命令,并按【回车】键,如图4-38所示。

mysql数据库授权

mysql数据库授权

mysql数据库授权授权命令GRANT 语句的语法如下:GRANT privileges (columns)ON whatTO user IDENTIFIEDBY "password"WITH GRANT OPTION对用户授权mysql>grant rights on database.* to user@host identified by "pass";例1:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; ON 子句中*.* 说明符的意思是“所有数据库,所有的表”例2:增加一个用户test2密码为abc, 让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。

grant select,insert,update,delete on mydb.* to test2@localhostidentified by "abc";例子3增加一个用户custom,他能从主机localhost、server.domain和连接。

他只想要从 localhost存取bankaccount数据库,从存取expenses数据库和从所有3台主机存取customer 数据库。

他想要从所有3台主机上使用口令stupid。

为了使用GRANT语句设置个用户的权限,运行这些命令:shell> mysql --user=root mysqlmysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPON bankaccount.* TO custom@localhost IDENTIFIED BY 'stupid';mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPON expenses.* TO custom@ IDENTIFIED BY 'stupid';mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPON customer.* TO custom@'%' IDENTIFIED BY 'stupid';==============================================权限信息用user、db、host、tables_priv和columns_priv表被存储在mysql数据库中(即在名为mysql的数据库中)。

Mysql—用户表详解(mysql.user)

Mysql—用户表详解(mysql.user)

Mysql—⽤户表详解(er)MySQL是⼀个多⽤户管理的数据库,可以为不同⽤户分配不同的权限,分为root⽤户和普通⽤户,root⽤户为超级管理员,拥有所有权限,⽽普通⽤户拥有指定的权限。

MySQL是通过权限表来控制⽤户对数据库访问的,权限表存放在mysql数据库中,主要的权限表有以下⼏个:user,db,host,table_priv,columns_priv和procs_priv,先带你了解的是user表。

通常⽤户信息、修改⽤户的密码、删除⽤户及分配权限等就是在mysql数据库的user表中。

⽤户列(⽤户连接MySQL数据库需要输⼊的信息)Host:主机名,双主键之⼀,值为%时表⽰匹配所有主机。

User:⽤户名,双主键之⼀。

Password:密码名。

Host User Password%domain_check*55B565DA3839E5955A68EA96EB735localhost domain_check*55B565DA3839E5955A68EA96EB735127.0.0.1domain_check*55B565DA3839E5955A68EA96EB735126.26.98.25domain_check*55B565DA3839E5955A68EA96EB735localhost::1root*26C378D308851D5C717C13623EFD6localhost root*26C378D308851D5C717C13623EFD6127.0.0.1root*26C378D308851D5C717C13623EFD6(root,%),表⽰可以远程登录,并且是除服务器外的其他任何终端,%表⽰任意IP都可登录。

(root,localhost),表⽰可以本地登录,即可以在服务器上登陆,localhost则只允许本地登录。

(root,127.0.0.1 ),表⽰可以本机登陆,即可以在服务器上登陆(root,sv01),表⽰主机名为sv1可以登陆,sv01具体指的哪台机器,可以在cat /etc/hostname查看(root,::1) ,表⽰本机可以登陆,看密码都是相同嘛,具体::1代表意义,待查权限列权限列决定了⽤户的权限,描述了⽤户在全局范围内允许对数据库和数据库表进⾏的操作,字段类型都是枚举Enum,值只能是Y或N,Y表⽰有权限,N表⽰没有权限。

权限系统设计五张表

权限系统设计五张表

权限系统设计五张表在进行权限系统设计时,一项十分重要的任务是设计适当的数据库表结构。

数据库表的设计决定了系统的灵活性、效率和数据的完整性。

本文将介绍一个权限系统的设计,包括五张表的设计和结构。

表一:用户表(User)该表用于存储系统中的用户信息。

它包含以下字段:1. 用户ID(UserID):用于唯一标识每个用户的ID。

2. 用户名(Username):用户的登录名。

3. 密码(Password):用户的密码,需要进行加密存储。

4. 姓名(Name):用户的真实姓名。

5. 邮箱(Email):用户的电子邮箱地址。

6. 手机号码(PhoneNumber):用户的手机号码。

表二:角色表(Role)角色表用于存储系统中的角色信息,该表包含以下字段:1. 角色ID(RoleID):用于唯一标识每个角色的ID。

2. 角色名称(RoleName):角色的名称,如管理员、普通用户等。

3. 角色描述(RoleDescription):对角色进行详细描述。

表三:权限表(Permission)权限表用于存储系统中的权限信息,该表包含以下字段:1. 权限ID(PermissionID):用于唯一标识每个权限的ID。

2. 权限名称(PermissionName):权限的名称,如查看、编辑等。

3. 权限描述(PermissionDescription):对权限进行详细描述。

表四:角色-权限关联表(RolePermission)角色-权限关联表用于记录角色和权限之间的关系,该表包含以下字段:1. 关联ID(ID):用于唯一标识每个角色-权限关联的ID。

2. 角色ID(RoleID):与角色表中的角色ID关联。

3. 权限ID(PermissionID):与权限表中的权限ID关联。

表五:用户-角色关联表(UserRole)用户-角色关联表用于记录用户和角色之间的关系,该表包含以下字段:1. 关联ID(ID):用于唯一标识每个用户-角色关联的ID。

mysql用户授权语句

mysql用户授权语句

mysql用户授权语句MySQL是一个流行的关系型数据库管理系统,它使用GRANT语句来授予用户不同级别的权限。

下面是一些常用的MySQL用户授权语句:1. 授权用户在所有数据库上具有所有权限:GRANT ALL PRIVILEGES ON . TO 'username'@'localhost' IDENTIFIED BY 'password';2. 授权用户在指定数据库上具有所有权限:GRANT ALL PRIVILEGES ON database_name. TO'username'@'localhost' IDENTIFIED BY 'password';3. 授权用户在指定数据库上具有特定权限:GRANT SELECT, INSERT, UPDATE ON database_name. TO 'username'@'localhost' IDENTIFIED BY 'password';4. 授权用户在所有数据库上具有特定权限:GRANT SELECT, INSERT, UPDATE ON . TO'username'@'localhost' IDENTIFIED BY 'password';5. 授权用户在指定数据库上只能进行SELECT查询:GRANT SELECT ON database_name. TO'username'@'localhost' IDENTIFIED BY 'password';6. 授权用户在所有数据库上只能进行SELECT查询:GRANT SELECT ON . TO 'username'@'localhost' IDENTIFIED BY 'password';7. 授权用户在指定数据库上具有创建表的权限:GRANT CREATE TABLE ON database_name. TO'username'@'localhost' IDENTIFIED BY 'password';8. 撤销用户在指定数据库上的所有权限:REVOKE ALL PRIVILEGES ON database_name. FROM'username'@'localhost';9. 撤销用户在所有数据库上的所有权限:REVOKE ALL PRIVILEGES ON . FROM'username'@'localhost';以上是一些常用的MySQL用户授权语句,你可以根据需要选择适合的语句来授权用户不同级别的权限。

mysql8授权语法

mysql8授权语法

在 MySQL 8 中,使用GRANT语句来授权用户访问数据库和执行特定操作。

以下是MySQL 8 中的授权语法的基本形式:
•privileges:授予的权限,可以是具体的权限(例如 SELECT、INSERT、UPDATE、DELETE)或者 ALL PRIVILEGES(表示所有权限)。

•database.table:指定授权的数据库和表。

如果要授予所有数据库和表的权限,可以使用通配符*.*。

•'username'@'host':用户名和主机名的组合,指定了授权的用户。

可以使用%作为通配符表示所有主机。

例如,'user'@'%' 表示用户可以从任何主机
访问。

•IDENTIFIED BY 'password':指定用户的密码。

这是可选的,如果不提供,用户将不需要密码登录。

示例:
1.授予用户在所有数据库上的所有权限:
1.授予用户在特定数据库上的所有权限:
1.授予用户在特定表上的 SELECT 和 INSERT 权限:
1.授予用户在所有数据库上的 SELECT 权限:
1.授予用户在所有数据库上的读取权限,但不包括敏感信息:
1.刷新权限:
上述示例中的语法可以根据实际需求进行修改和扩展。

在执行授权操作后,务必使用FLUSH PRIVILEGES;来刷新权限,使更改立即生效。

MySQL教程

MySQL教程
8)、测试:
进入DOS界面;
在d:\mysql\bin目录下运行mysql,进入mysql交互操作界面
输入show databases并回车,屏幕显示出当前已有的两个数据库mysql和test
方法二:不使用winmysqladmin
1)、在DOS窗口下,进入d:/mysql/bin目录
下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
又一篇安装的文章
PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选。本人在Windows98环境下初学MySQL,现将学习过程与经验总结出来供大家参考。
正常时显示数据库mysql里的五个表:
columns_priv
db
host
tables_priv
user
c)、mysqladmin version status proc
显示版本号、状态、进程信息等
d)、mysql test
进入mysql操作界面,当前数据库为test
3、退出MYSQL命令: exit (回车)
二、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
MySql入门教(完整教程)2007年05月31日 星期四 17:43一、连接MYSQL

mysql授权及撤销授权

mysql授权及撤销授权

授权一、grant 普通数据用户,查询、插入、更新、删除数据库中所有表数据的权利1.grant select on testdb.* to common_user@'%'2.grant insert on testdb.* to common_user@'%'3.grant update on testdb.* to common_user@'%'4.grant delete on testdb.* to common_user@'%'或者,用一条MySQL 命令来替代:1.grant select, insert, update, delete on testdb.* to common_user@'%'二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数等权限grant 创建、修改、删除MySQL 数据表结构权限。

1.grant create on testdb.* to developer@'192.168.0.%';2.grant alter on testdb.* to developer@'192.168.0.%';3.grant drop on testdb.* to developer@'192.168.0.%'; grant 操作MySQL 外键权限:1.grant references on testdb.* to developer@'192.168.0.%';grant 操作MySQL 临时表权限:1.grant create temporary tables on testdb.* to developer@'192.168.0.%';grant 操作MySQL 索引权限:1.grant index on testdb.* to developer@'192.168.0.%'; grant 操作MySQL 视图、查看视图源代码权限:1.grant create view on testdb.* to developer@'192.168.0.%';2.grant show view on testdb.* to developer@'192.168.0.%';grant 操作MySQL 存储过程、函数权限:1.grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status2.grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure3.grant execute on testdb.* to developer@'192.168.0.%';三、grant 普通DBA 管理某个MySQL 数据库的权限1.grant all privileges on testdb to dba@'localhost'其中,关键字“privileges” 可以省略。

权限 数据库 表结构

权限 数据库 表结构

权限数据库表结构全文共四篇示例,供读者参考第一篇示例:权限数据库表结构是指在数据库中存储权限信息的表的结构,用来管理用户的访问权限和操作权限。

权限数据库是一个非常重要的数据库,它负责管理系统中所有用户的权限信息,包括用户的角色、组织结构、权限分配等信息。

一个完善的权限数据库表结构能够提供灵活、安全的权限管理功能,保证系统的安全性和稳定性。

一个权限数据库通常包括多张表,每张表存储不同的权限信息。

下面我们来介绍一个典型的权限数据库表结构,包括用户表、角色表、权限表和用户角色关联表等表。

1. 用户表:用户表存储系统中所有用户的基本信息,包括用户ID、用户名、密码、邮箱等信息。

用户表是权限数据库的基础表之一,用来标识系统中的所有用户。

用户表的表结构如下:CREATE TABLE role (roleid INT PRIMARY KEY,rolename VARCHAR(50) NOT NULL,roledesc VARCHAR(100));4. 用户角色关联表:用户角色关联表用来存储用户和角色之间的关联关系,一个用户可以拥有多个角色。

用户角色关联表的表结构如下:CREATE TABLE role_permission (roleid INT,permissionid INT,PRIMARY KEY(roleid, permissionid),FOREIGN KEY(roleid) REFERENCES role(roleid),FOREIGN KEY(permissionid) REFERENCES permission(permissionid));第二篇示例:权限数据库是一个用于存储和管理权限信息的数据库,通常在权限管理系统中使用。

在权限管理系统中,权限数据库表结构的设计至关重要,不仅能够有效地存储权限信息,还能够提供高效的权限管理功能。

一个合理的权限数据库表结构设计将会使权限管理系统更加稳定、高效。

mysql有关权限的表有哪几个呢?

mysql有关权限的表有哪几个呢?

mysql有关权限的表有哪几个呢?
在 MySQL 中,权限相关的表主要存储了用户、角色以及其对数据库和表的权限信息。

以下是一些与权限相关的表:
1. er:
•存储 MySQL 用户账户信息,包括用户名、密码(加密后的)、全局权限等。

这个表中的记录用于控制用户在整个 MySQL 服务器上的权限。

2. mysql.db:
•记录了数据库级别的权限信息,包括哪个用户对哪个数据库具有什么权限。

3. mysql.tables_priv:
•记录了表级别的权限信息,包括哪个用户对哪个表具有什么权限。

4. mysql.columns_priv:
•存储了列级别的权限信息,包括哪个用户对哪个表的哪些列有什么权限。

5. mysql.procs_priv:
•记录了存储过程和函数级别的权限信息,包括哪个用户对哪个存储过程或函数有什么权限。

6. mysql.roles:
•存储角色的信息,包括角色的名称、角色所属的账户等。

7. mysql.role_edges:
•记录角色之间的关系,即哪个角色包含了哪些子角色。

8. mysql.global_grants:
•存储全局权限信息,包括用户或角色对全局资源的权限。

9. mysql.default_roles:
•记录了用户登录时默认拥有的角色。

这些表中存储的权限信息是 MySQL 数据库安全模型的一部分,它们决定了用户对数据库和表的访问权限。

通过对这些表的操作,管理员可以授予或收回用户和角色的权限。

在使用这些表时,需要小心谨慎,确保给予的权限是符合安全原则和业务需求的。

mysql新增用户,并赋予用户权限

mysql新增用户,并赋予用户权限

mysql新增⽤户,并赋予⽤户权限在稍微⼤⼀些的公司⾥⾯都是进⾏着明显的权限管理,特别是进⾏数据库操作。

如果赋予⽤户过多权限,⽤户⼀不⼩⼼进⾏删库操作,就会造成巨⼤影响。

因此公司进⾏项⽬都会创建专门的⽤户指定其权限只能控制数据库进⾏有限的操作,不会赋予root权限进⾏操作。

MySQL 在安装时会⾃动创建⼀个名为 mysql 的数据库,mysql 数据库中存储的都是⽤户权限表。

⽤户登录以后,MySQL 会根据这些权限表的内容为每个⽤户赋予相应的权限。

user 表是MySQL 中最重要的⼀个权限表,⽤来记录允许连接到服务器的账号信息。

在 user 表⾥启⽤的所有权限都是全局级的,适⽤于所有数据库。

user 表中的字段⼤致可以分为 4 类,分别是⽤户列、权限列、安全列和资源控制列。

SHOW columns FROM er;在 MySQL 数据库中,权限表除了user表外,还有db表、tables_priv表、columns_priv表和procs_priv表。

tables_priv表⽤来对单个表进⾏权限设置,columns_priv表⽤来对单个数据列进⾏权限设置,procs_priv表可以对存储过程和存储函数进⾏权限设置。

创建⽤户# 语法格式为 [@'host'] host 为'localhost'表⽰本地登录⽤户,host 为 IP地址或 IP 地址区间,表⽰指定IP地址的主机可登录,host 为"%",表⽰所有主机都可登录,省略代表所有主机CREATE USER 'username'[@'host'] IDENTIFIED BY 'password';# eg. 常见 local_user ⽤户可以在所有主机登录,密码为123456CREATE USER 'local_user'@‘%’ IDENTIFIED BY '123456';# eg. 创建 local_user 只允许在本地登录CREATE USER 'local_user'@'localhost' IDENTIFIED BY '123456';删除⽤户# 语法格式DROP USER 'username'@'host';# eg. 删除本地⽤户 local_userDROP USER 'local_user'@'localhost';修改⽤户RENAME USER <'old username'@'host'> TO <'new username'@'host'>查看⽤户权限# 可以通过查询 user 表获取语法格式为SELECT privileges|* FROM user WHERE `user` = 'username';# eg. 查看 local_user 的权限SELECT * FROM user WHERE `user` = 'local_user';# 也可以⽤ SHOW GRANTS 查看SHOW GRANTS FOR 'username' [@host];# eg.SHOW GRANTS FOR local_user;赋予⽤户权限# 语法格式GRANT privileges ON database.table TO 'username'@'host' [IDENTIFIED BY 'password'] [WITH GRANT OPTION]; # [IDENTIFIED BY 'password']在MySQL8.0+⽆法使⽤# eg. 赋予 local_user 在所有主机的所有权限,但不包含给其他账号赋予权限的权限GRANT all ON *.* TO 'local_user'@'%';# 刷新权限权限更新后刷新才会起作⽤FLUSH PRIVILEGES;GRANT命令说明:priveleges (权限列表),可以是all, 表⽰所有权限,也可以是select,update等权限,多个权限的名词,相互之间⽤逗号分开。

MySQL8.0用户和角色管理

MySQL8.0用户和角色管理
# 创建账号密码 CREATE USER `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd'; # 授予权限 GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` WITH GRANT OPTION; # 删除权限 REVOKE all privileges ON databasename.tablename FROM ; # 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
MySQL8.0中带过期时间用户的创建:
CREATE USER `wangwei`@`127.0.0.1` IDENTIFIED BY 'wangwei' PASSWORD EXPIRE INTERVAL 90 DAY;
GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` WITH GRANT OPTION;
查阅了MySQL8.0的官方文档,通过官方的示例来查看新的管理方式。
1、MySQL用户管理 1.1、验证插件和密码加密方式的变化在MySQL 8.0中,caching_sha2_password是默认的身份验证插件而不是之前版本的 mysql_native_password, 默认的密码加密方式是sha2。 如果需要保持之前的验证方式并保持之前版本的密码加密方式需要在配置文件中修改,暂_authentication_plugin = mysql_native_password。 将8.0已有的sha2密码修改为sha1的模式: ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'passowrd' PASSWORD EXPIRE NEVER; #修改加密规则为永不过期 ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码加密方式为之前版本的方式 FLUSH PRIVILEGES; #刷新权限 1.2 用户授权和修改密码 MySQL8.0的用户授权和之前有所区别,老版本的常用授权语句在8.0中会报错: MySQL8.0之前版本: GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd' WITH GRANT OPTION; MySQL8.0版本:

查看mysql库中所有表的信息--INFORMATION_SCHEMA

查看mysql库中所有表的信息--INFORMATION_SCHEMA

查看mysql库中所有表的信息--INFORMATION_SCHEMA第⼀个查询看看库⾥有多少个表,表名等select * from INFORMATION_SCHEMA.TABLESinformation_schema这张数据表保存了MySQL服务器所有数据库的信息。

如数据库名,数据库的表,表栏的数据类型与访问权限等。

再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表⾥⾯。

Mysql的INFORMATION_SCHEMA数据库包含了⼀些表和视图,提供了访问数据库元数据的⽅式。

元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。

有些时候⽤于表述该信息的其他术语包括“数据词典”和“系统⽬录”。

下⾯对⼀些重要的数据字典表做⼀些说明:SCHEMATA表:提供了关于数据库的信息。

TABLES表:给出了关于数据库中的表的信息。

COLUMNS表:给出了表中的列信息。

STATISTICS表:给出了关于表索引的信息。

USER_PRIVILEGES表:给出了关于全程权限的信息。

该信息源⾃er授权表。

SCHEMA_PRIVILEGES表:给出了关于⽅案(数据库)权限的信息。

该信息来⾃mysql.db授权表。

TABLE_PRIVILEGES表:给出了关于表权限的信息。

该信息源⾃mysql.tables_priv授权表。

COLUMN_PRIVILEGES表:给出了关于列权限的信息。

该信息源⾃mysql.columns_priv授权表。

CHARACTER_SETS表:提供了关于可⽤字符集的信息。

COLLATIONS表:提供了关于各字符集的对照信息。

COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可⽤于校对的字符集。

TABLE_CONSTRAINTS表:描述了存在约束的表。

国家开放大学 4046《数据库运维》考试资料精简版

国家开放大学 4046《数据库运维》考试资料精简版

国家开放大学4046《数据库运维》考试资料精简版一、单项选择题( 你懂的:640585856)扣扣1.数据库系统的核心是( )。

C.数据库管理系统2.数据库(DB)、数据库系统(DBS) 和数据库管理系统(DBMS) 三者之间的关系是3.)。

A.DBS包括DB和DBMS4.在文件管理方式中,数据处于一种( ) 的状态。

A.集中5.以下不属于数据库特点的是( )。

B.数据冗余度高6.对数据库特征的描述不准确的是( )。

D.数据没有冗余7.mysqladmin command参数中删除一个库的参数是( )。

D. delete database [ DB_NAME]( 你懂的:640585856)扣扣8.MySQL二进制日志binlog的作用是记录MySQL内部( ) 的内容。

C.显示show9.mysqlbinlog中使用参数( ) 可以打开指定库的binlog文件。

A.-d10.MySQL数据库中使用命令行工具( ) 可以有效地对记录进行归档。

C. mysqlbinlog11.在MySQL可视化管理工具MySQLGUITools中,方便数据库迁移的图形化应用程序12.是()。

B. MySQL Migration Toolkit13.MySQL使用的默认端口是( )。

B.330614.下面()文件是MySQL数据库服务器安装配置文件。

A. my. ini15.在MySQL数据库中,对作为临时存放查询的中间结果集的存储引擎描述正确的是16.( )。

C.如果中间结果集含有TEXT或BL0B列的类型字段,则MySQL数据库会将其转换17.到MyISAM存储引擎表而存放到磁盘中18.创建用户的命令是( )。

D. mysql user19.下面()是MySQL客户端程序的功能。

C.使用startbackup命令来进行数据库=进制备份20.关于MySQL错误日志文件叙述不正确的是()。

D.错误日志以文本文件的形式存储数据21.关于MySQL日志文件叙述正确的是D.日志文件会记录MySQL数据库服务器的各种信息,所以当MySQL数据库服务器遇到意外的损害时,不仅可以通过日志文件来查看出错的原因,还可以通过日志文件进行数据恢复MySQL中关于-一些常用变量和动态设置描述正确的是()C.设置thread_cache_sive变量会立即生效,检查缓存中是否还有空间能缓存线程。

MysqlUser表权限字段说明全介绍

MysqlUser表权限字段说明全介绍

MysqlUser表权限字段说明全介绍下⽂对Mysql User表权限字段进⾏了全部的详细说明,供您参考学习,如果您对Mysql User表权限字段不是很了解,不妨⼀看,相信对您会有所启迪。

Select_priv:确定⽤户是否可以通过SELECT命令选择数据。

Insert_priv:确定⽤户是否可以通过INSERT命令插⼊数据。

Update_priv:确定⽤户是否可以通过UPDATE命令修改现有数据。

Delete_priv:确定⽤户是否可以通过DELETE命令删除现有数据。

Create_priv:确定⽤户是否可以创建新的数据库和表。

Drop_priv:确定⽤户是否可以删除现有数据库和表。

Reload_priv:确定⽤户是否可以执⾏刷新和重新加载MySQL所⽤各种内部缓存的特定命令,包括⽇志、权限、主机、查询和表。

Shutdown_priv:确定⽤户是否可以关闭MySQL服务器。

在将此权限提供给root账户之外的任何⽤户时,都应当⾮常谨慎。

Process_priv:确定⽤户是否可以通过SHOW PROCESSLIST命令查看其他⽤户的进程。

File_priv:确定⽤户是否可以执⾏SELECT INTO OUTFILE和LOAD DATA INFILE命令。

Grant_priv:确定⽤户是否可以将已经授予给该⽤户⾃⼰的权限再授予其他⽤户。

例如,如果⽤户可以插⼊、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该⽤户就可以将其任何或全部权限授予系统中的任何其他⽤户。

References_priv:⽬前只是某些未来功能的占位符;现在没有作⽤。

Index_priv:确定⽤户是否可以创建和删除表索引。

Alter_priv:确定⽤户是否可以重命名和修改表结构。

Show_db_priv:确定⽤户是否可以查看服务器上所有数据库的名字,包括⽤户拥有⾜够访问权限的数据库。

可以考虑对所有⽤户禁⽤这个权限,除⾮有特别不可抗拒的原因。

数据库和表权限

数据库和表权限

MySQL安全性指南(2)文章地址:/article.php?articleid=10642.1.3数据库和表权限下列权限运用于数据库和表上的操作。

ALTER允许你使用ALTER TABLE语句,这其实是一个简单的第一级权限,你必须由其他权限,这看你想对数据库实施什么操作。

CREATE允许你创建数据库和表,但不允许创建索引。

DELETE允许你从表中删除现有记录。

DROP允许你删除(抛弃)数据库和表,但不允许删除索引。

INDEX允许你创建并删除索引。

REFERENCES目前不用。

SELECT允许你使用SELECT语句从表中检索数据。

对不涉及表的SELECT语句就不必要,如SELECT NOW()或SELECT 4/2。

UPDATE允许你修改表中的已有的记录。

2.1.4 管理权限下列权限运用于控制服务器或用户授权能力的操作的管理性操作。

FILE允许你告诉服务器读或写服务器主机上的文件。

该权限不应该随便授予,它很危险,见“回避授权表风险”。

服务器确实较谨慎地保持在一定范围内使用该权限。

你只能读任何人都能读的文件。

你正在写的文件必须不是现存的文件,这防止你迫使服务器重写重要文件,如/etc/passwd或属于别人的数据库的数据目录。

如果你授权FILE权限,确保你不以UNIX的root用户运行服务器,因为root可在文件系统的任何地方创建新文件。

如果你以一个非特权用户运行服务器,服务器只能在给用户能访问的目录中创建文件。

GRANT允许你将你自己的权限授予别人,包括GRANT。

PROCESS允许你通过使用SHOW PROCESS语句或mysqladminprocess命令查看服务器内正在运行的线程(进程)的信息。

这个权限也允许你用KILL语句或mysqladmin kill命令杀死线程。

你总是能看到或杀死你自己的线程。

PROCESS权限赋予你对任何线程做这些事情的能力。

RELOAD允许你执行大量的服务器管理操作。

关于医院系统的mysql面试题及答案

关于医院系统的mysql面试题及答案

关于mysql面试题及答案1.为什么要使用数据库·数据保存在内存优点:存取速度快缺点:数据不能永久保存·数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。

2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。

3)管理数据方便2.什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。

作用:用于存取数据、查询、更新和管理关系数据库系统。

3.什么是MySQL?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle 旗下产品。

MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。

在Java企业级开发中非常常用,因为MySQL是开源免费的,并且方便扩展。

4.数据库三大范式是什么第—范式:每个列都不可以再拆分。

第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。

第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。

在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。

比如性能。

事实上我们经常会为了性能而妥协数据库的设计。

5.mysql有关权限的表都有哪几个MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。

这些权限表分别user,db,table_priv,columns_priv和host。

下面分别介绍一下这些表的结构和内容: . user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。

. db权限表:记录各个帐号在各个数据库上的操作权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL权限表都有哪些,分别控制MySQL哪些权限,有哪些注意事项?
1、user:记录账号、密码、全局性权限信息等,里面的权限是全局级的
1)*_priv:适用MySQL服务器全局性的权限,假设某个账号拥有Delete_priv的全局性权限,则表示它可以对任何表进行删除数据的操作,这非常危险,所有一般只有超级用户root有这样的权限,其它普通用户没有。

2)max_*:资源管理列,用于规定账号的资源使用上限,其中:
max_questions:每小时发出的语句数上限
max_updates:每小时发出的修改类语句数上限
max_connections:每小时连接数上限
max_user_connections:允许保有的连接数上限
3)SSL相关列:
ssl_type,ssl_cipher,x509_isuser, x509_subject
2、db:记录各个帐号在各个数据库上的操作权限
*_priv:适用于某个数据库的权限
3、tables_priv:表级别的权限
Column_priv比较奇怪,因为照理说tables_priv只显示表级别的权限,列级别的权限应该在columns_priv里显示才对。

后来查了资料才知道,原来这是为了提高权限检查时的性能,试想一下,权限检查时,如果发现tables_priv.Column_priv为空,就不需要再检查columns_priv 表了,这种情况在现实中往往占大多数。

4、columns_priv:列级别的权限
5、procs_priv:存储过程和函数的权限
6、proxies_priv:记录代理用户的权限
7、host权限表:配合db权限表对给定主机上数据库级操作权限作更细致的控制。

这个权限表不受GRANT和REVO语句的影响。

相关文档
最新文档