第10讲 MySQL用户管理
《MySQL数据库基础与应用》教案
教案(首页) 教案编写时间:第1章 MySQL 数据库系统(4学时)一、教学目的:【了解】:数据库的应用;数据库管理系统的功能和组成;数据模型的概念和数据模型的类型;MySQL数据库管理系统的特点;【理解】:数据库、数据库管理系统和数据库系统的概念;关系数据库基本概念和关系运算;【掌握】:概念结构设计和逻辑结构设计的技术和方法,具备根据需求分析阶段收集到的信息画出E-R图,并将E-R图转化为关系模式的能力;MySQL 8.0的安装和配置操作;MySQL服务器的启动和关闭,登录MySQL服务器的两种方式,具备使用MySQL命令行客户端和Windows命令行的能力。
二、教学重点:教学重点是概念结构设计和逻辑结构设计。
三、教学难点:(1)掌握数据模型的概念。
(2)具备画出E-R图,并将E-R图转化为关系模式的能力。
四、教学进程(含教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计、作业布置等):教学内容:本章首先介绍数据库系统的基本概念,然后介绍数据模型和关系数据库的相关知识,介绍概念结构设计和逻辑结构设计的设计过程,接着介绍MySQL 8.0的安装和配置,MySQL服务器的启动、关闭和登录。
通过本章的学习,可以学习数据库的基础知识,培养画出E-R图,并将E-R图转化为关系模式的能力,掌握MySQL 8.0的安装和配置方法。
教学过程设计:问题导向、新课导入、案例教学、课堂讨论、作业讲评。
教学方法:以多媒体讲授和板书为主,并结合提问、设问、讨论等方法。
内容提要:1.1 数据库的应用(2学时)1.2 数据库的基本概念1.2.1 数据库1.2.2 数据库管理系统1.2.3 数据库系统1.3 数据模型1.3.1 数据模型的概念和类型1.3.2 概念模型的概念和表示方法1.3.3 逻辑模型概述1.4 关系数据库1.4.1 关系数据库的基本概念1.4.2 关系运算1.4.3 概念结构设计和逻辑结构设计1.5 MySQL 数据库管理系统(2学时)1.5.1 MySQL 的特点1.5.2 MySQL 8.0 的新特性1.5.3 MySQL 8.0 安装1.5.4 MySQL 8.0 配置1.6 启动、关闭和登录 MySQL 服务器1.6.1 启动和关闭 MySQL 服务器1.6.2 登录 MySQL 服务器1.7 大数据简介1.7.1 大数据的基本概念1.7.2 大数据的处理过程1.7.3 NoSQL 数据库课后小结和布置作业:讨论与思考:1. 什么是数据库?举例说明数据库的应用。
MySQL用户管理
MySQL用户管理目录一、用户登录 (2)二、用户退出 (2)三、添加用户 (2)四、用户权限 (2)五、删除用户 (3)六、修改密码 (3)七、找回密码 (3)八、远程用户 (3)时间:2011年11月2日星期三格式:mysql -h主机地址-u用户名-p用户密码mysql -h110.110.110.110 -uroot -p123本地可以直接mysql –uroot -p二、用户退出exit、quit三、添加用户er表保存的是用户的登录信息1.直接添加无权限insert into er (host,user,password) values('%','jifei',PASSWORD('jifei'));2.添加并赋权grant select on 数据库.* to '用户名'@'登录主机' identified by '密码'四、用户权限1.添加权限grant 权限on 数据库.表to '用户名'@'登录主机';权限:select ,update,delete,insert(表数据)、create,alert,drop(表结构)、references(外键)、create temporary tables(创建临时表)、index(操作索引)、create view,show view(视图)、create routine,alert routine,execute(存储过程)、all,allprivileges(所有权限)数据库:数据库名或者*(所有数据库)表:表名或者*(某数据库下所有表)主机:主机名或者%(任何其他主机)例:grant selec,insert,update,delete on *.* to 'jifei'@'%';2.撤销权限revoke 权限on 数据库.表from '用户名'@'登录主机';//将to改为from例:revoke all on *.* from ‘jifei’@’%’;3.查看权限show grants;//自己show grants for dba@localhost;//指定用户指定hostdelete from er where user='' and host='';六、修改密码update er set password=PASSWORD('111111') where user='root';七、找回密码1.关闭mysql服务killall -TERM mysqld2.修改配置文件vi /etc/f在[mysqld]的段中加上一句:skip-grant-tables例如:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockskip-grant-tables3.重启mysqldservice mysqld restart4.登录mysql -uroot -p5.修改密码update er set password=PASSWORD('111111') where user='root';flush privileges;//刷新权限6.修改配置文件vi /etc/f去掉之前的改动7.重启服务八、远程用户1.设置远程用户①限制在指定ip登录host为ip详情请看添加权限②在任意远程ip登录host为%详情请看添加权限2.远程访问mysql -h110.110.110.110 -uroot -p123;//指定h为ip详情请看用户登录。
MySQL讲解基础知识
客户机
Windows下MySQL的配置
配置步骤: 1. 将下载的 mysql-noinstall-5.1.69-win32.zip 解压至需要安装的位置, 如: C:\Program Files; 2. 在安装文件夹下找到 my-small.ini 配置文件, 将其重命名为 my.ini , 打开进行编辑 , 在 [client] 与 [mysqld] 下均添加一行: default-character-set = gbk 3. 打开 Windows 环境变量设置, 新建变量名 MYSQL_HOME , 变量值为 MySQL 安 装目录路径, 这里为 C:\Program Files\mysql-5.1.69-win32 4. 在 环境变量 的 Path 变量中添加 ;%MYSQL_HOME%\bin; 5. 安装 MySQL 服务, 打开Windows命令提示符, 执行命令: mysqld --install MySQL -defaults-file="my.ini" 提示"Service successfully installed."表示成功;
MySQL脚本的基本组成
2、关键字: MySQL的关键字众多, 这里不一一列出, 这些关键字有自己特定的 含义, 尽量避免作为标识符。 3、语句: MySQL语句是组成MySQL脚本的基本单位, 每条语句能完成特定 的操作, 他是由 SQL 标准语句 + MySQL 扩展语句组成。 4、函数: MySQL函数用来实现数据库操作的一些高级功能, 这些函数大致 分为以下几类: 字符串函数、数学函数、日期时间函数、搜索函数、加 密函数、信息函数。
注意: MySQL语句以分号(;)作为语句的结束, 若在语句结尾不添加分号时, 命令提 示符会以 -> 提示你继续输入(有个别特例, 但加分号是一定不会错的);
MySQL 数据库基础与应用 第10章 权限管理和安全控制
MySQL 数据库基础与应用
5
10.2 用户管理
10.2.1 创建用户
创建用户使用CREATE USER语句。 语法格式:
CREATE USER user_specification [ , user_specification ] ...
其中,user_specification:
user [
IDENTIFIED BY [ PASSWORD ] ‘password’ | IDENTIFIED WITH auth_plugin [ AS ‘auth_string’] ]
10.2 用户管理
一个新安装的MySQL系统,只有一个名为root的用户,可使用以下 语句进行查看:
mysql> SELECT host, user, authentication_string FROM er;
+-----------+--------+------------------------------------------------------------------------+
4. procs_priv表 procs_priv表可以存储过程和存储函数进行权限设置。procs_priv表 包含8个字段,分别是Host、Db、User、Routine_name、Routine_type、 Grantor 、Proc_priv和Timestamp。
MySQL 数据库基础与应用
4
+-----------+--------+------------------------------------------------------------------------+
mysql客户端的使用方法
mysql客户端的使用方法MySQL客户端是连接和操作MySQL数据库的工具。
它提供了许多功能,可以帮助用户管理和查询数据库。
本文将介绍MySQL客户端的使用方法,包括安装、连接数据库、执行SQL命令、导入和导出数据等内容。
首先,为了使用MySQL客户端,我们需要将其安装在我们的计算机上。
MySQL客户端有多个可选的版本,包括命令行工具和图形化界面工具。
在本文中,我们将主要关注命令行工具。
通常情况下,MySQL客户端会随着MySQL服务器的安装一起安装,因此我们不需要额外下载安装。
安装完成后,我们可以打开命令行终端,并输入以下命令以连接到MySQL服务器:```mysql -h 主机名 -P 端口号 -u 用户名 -p```其中,主机名是MySQL服务器的IP地址或域名,端口号是MySQL服务器的监听端口,默认为3306。
用户名是用于连接数据库的用户名,-p参数表示需要输入密码进行身份验证。
成功连接到MySQL服务器后,我们就可以执行各种SQL命令了。
MySQL客户端提供了丰富的命令和语法,可以用来创建数据库、创建表、插入、更新、删除数据等操作。
以下是一些常用的SQL命令示例:1. 创建数据库:```CREATE DATABASE database_name;```2. 使用数据库:```USE database_name;```3. 创建表:```sqlCREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);```其中,table_name是要创建的表的名称,column1、column2等是表的列名,datatype是列的数据类型。
4. 插入数据:```sqlINSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);```其中,table_name是要插入数据的表的名称,column1、column2等是表的列名,value1、value2等是要插入的值。
MySQL数据库应用实战教程教案
2.4.2输入相关的常见问题(10分钟)
1.只读模式和编辑模式
2.空和空串(或数字0),强调空和空串的区别
3.修改主键值,简单演示或讲解一下,说明过程的复杂性和危害性
2.4.3【实训2–3】数据查询(5分钟):直接演示,不在机房安排学生做
将【实训2–3】布置为作业
MySQL数据库应用实战教程教案
教案(
教师姓名
XX老师
授课形式
讲授+实践
授课时数
2
授课日期
授课班级
202X年月日第周星期第节XX01班级
202X年月日第周星期第节XX02班级
授课章节名称
及教学内容、
目的、要求
章节名称:
项目1了解数据库——气象记录数据库
教学内容:
任务1认识MySQL
任务2安装、配置和使用MySQL
1.2.2 MySQL程序介绍(5分钟)
介绍安装的3个程序:MySQL服务器、MySQL命令行客户端和MySQL配置工具
1.2.3使用MySQL命令行客户端(30分钟)
仔细讲清楚Windows的命令提示符的启动和使用,建议只讲Win+R这一种办法
运行MySQL命令行客户端,执行quit和show databases;命令,说明结束分号的重要性
任务3创建数据库和数据表
任务4操纵数据和查询数据
任务5理解主键和外键
目的、要求:
1.学会建立表之间的联系
2.学会插入数据时,正确输入外键的值
3.正确理解主键和外键
教学重点
教学难点
重点:
创建表和建立表之间的主外键联系
插入数据时,如何保证外键值的正确性
大数据技术专业《数据库技术基础》课程标准
贵州XXX学院《数据库技术基础》课程标准(2023年版)《数据库技术基础》课程标准一、课程信息二、课程性质和功能定位(一)课程性质本课程是大数据技术应用专业的一门必修的专业基础课程。
通过本课程的学习,让学生了解计算机数据管理的发展,数据库系统基础与数据库系统应用之间的关系;掌握数据库系统原理,掌握SQL语句的使用,会使用简单的关系型DBMS继续进行数据处理和应用系统设计及关系数据库管理系统MySQL的使用方法。
(二)课程的功能定位全面贯彻党的教育方针,落实立德树人根本任务,满足国家发展战略对人才培养的要求。
以就业为导向,以职业岗位能力为核心,依托计算机行业发展,按照企业实际需求和学校实际情况与专业特点,设计人才培养方案和课程体系,并对接职业标准开发课程标准,聘请企业的相关技术人员为兼职教师,合理设置各个教学环节,引入企业真实项目,实施项目教学。
同时积极探索校企合作之路,构建“课堂与实习实训结合、学校教育与企业教育结合、在校成长与职场成长结合”的“三结合”(课程标准与职业标准相融合、教学过程与工作过程相融合、教学情境与工作场境相融合)人才培养模式。
三、设计思路本课程是依据任务引领型项目设置的。
其总体设计思路是立足于实际能力培养,对课程内容的选择标准作了根本性改革,打破以知识传授为主要特征的传统学科课程模式,转变为以任务为中心组织课程内容,并让学生在完成具体学习模块过程中学会完成相应任务,并构建相关理论知识,发展职业能力。
本课程最终确定了以下学习模块:数据库的建立与基本维护、数据库管理、简单程序设计、设计查询与视图、设计报表与标签、设计应用程序界面、设计应用程序菜单系统。
模块设计以工作任务为线索来进行。
教学过程中,采取理实-体教学,给学生提供实践机会。
在每个知识模块中根据知识体系设立相应的学习任务,学生在轻松完成每个任务的过程中掌握到技能,学习到知识。
四、课程目标课程的培养目标是……。
(一)知识目标(1)了解数据库系统基础知识;(2)掌握MySQL 数据库的基本操作:(3)掌握数据完整性相关的概念和应用操作;(4)掌握SQL 语言的数据定义、数据查询和数据操纵的格式及功能;(二)素质目标培养学生克服困难的精神、理论应用于实践和解决实际问题的能力,为今后的软件系统开发与网站开发类课程学习打下良好的基础。
MySQL8.0用户和角色管理
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服务器的配置与管理
退 出
第十讲 MySQL服务器的配置与管理
目 录
上一页 下一页
MySQL基本操作
数据库的创建与删除
创建该数据库可使用下面的命令: mysql> CREATE DATABASE lbuser; 把新创建的数据库作为当前数据库,命令如下: mysql> USE lbuser; Database changed 当用户的数据库建立成功之后,可以使用下面的命 令来查看数据库是否建成: mysql> show databases; 当建立的数据库没有用时,可使用下面的命令来删 除它: mysql> DROP DATABASE lbuser;
退 出
第十讲 MySQL服务器的配置与管理
目 录
上一页 下一页
MySQL数据库的用户权限
设置MySQL权限
对用户权限的设置 MySQL提供了grant和revoke命
退 出
令,另外,也可以利用insert into或update语句, 直接通过修改用户权限表来实现。 但要注意用insert和update语句在权限表中添 加记录和修改记录的权限设置后,不会立即生效, 需要使用flush privileges语句让系统重新装载 权限表后,才能生效。该命令在mysql>下执行。
上一页 数据记录的增加、删除与修改 下一页
退 出
第十讲 MySQL服务器的配置与管理
目 录
上一页 下一页
MySQL基本操作
数据表记录的查询
mysql> SELECT * FROM user WHERE sex= “男”; mysql> SELECT * FROM user WHERE sex= " 男 " ID<100; mysql> SELECT name, sex FROM user WHERE sex= "男" ORDER BY sex DESC; mysql> SELECT * FROM user WHERE name LIKE "j%"; 目 录
《MySQL 数据库》教学计划(高教第五得版)
《MySQL 数据库》教学计划(高教第五版)一、教学目标1.知识与技能目标①学生能够理解理解MySQL数据库的基本概念、原理和特点、如数据库、表、字段等。
②掌握MySQL数据库的安装、配置方法和基本操作。
③熟练进行数据表操作、查询语句编写、索引创建与使用;熟练使用SQL 语句进行数据的插入、查询、更新和删除操作。
④了解视图、存储过程、触发器等高级功能的应用。
2.过程与方法目标①通过实际操作和案例分析,培养学生的动手能力和问题解决能力;引导学生进行小组合作学习,提高学生的团队协作和沟通能力。
②能力目标能够独立安装、配置MySQL数据库。
能够进行数据表的创建、修改、删除以及数据的增删改查操作。
能够编写简单的SQL查询语句,包括分组、排序、聚合函数的使用。
能够使用索引优化查询性能。
能够创建视图、存储过程、触发器,并进行简单的应用。
3.情感态度与价值观目标①激发学生对数据库技术的学习兴趣,培养学生的创新意识和探索精神;培养学生严谨的学习态度和良好的职业道德。
②素养目标培养学生的数据库安全意识,了解用户权限管理与安全设置。
培养学生的逻辑思维能力和解决问题的能力。
培养学生的团队协作精神和项目开发经验。
二、主要的内容:1.数据库基础概念:包括数据库的定义、作用、数据模型(如关系模型)等。
2.安装与配置:介绍如何在不同操作系统上安装 MySQL 数据库服务器,以及进行相关的配置,如设置用户权限、优化参数等。
3.数据类型:详细讲解 MySQL 支持的数据类型,如整数、浮点数、字符串、日期时间等,以及如何根据实际需求选择合适的数据类型。
4.表的操作:包括创建表、修改表结构(添加、删除列,修改列的数据类型等)、删除表等。
5.数据操作:如插入数据、查询数据(使用 SELECT 语句进行各种条件查询)、更新数据、删除数据等。
6.索引:介绍索引的概念、类型(如主键索引、唯一索引、普通索引等)以及如何创建和使用索引来提高查询性能。
MySQL基础教程演示文稿
1.1.3 结构化查询语言SQL
结构化查询语言(Structured Query Language或简称为SQL)是一种应用最为广泛的关 系数据库语言,该语言定义了操作关系数据库的 标准语法,几乎所有的关系数据库管理系统都支 持SQL。
第17页,共715页。
学习重点
第18页,共715页。
course(course_no,course_name,up_limit,description,status) teacher(teacher_no,teacher_name,teacher_contact)
classes(class_no,class_name,department_name)
个字段的组合(这种情况称为复合主键)。 (2)表中主键的值具有唯一性且不能取空值
(NULL);当表中的主键由多个字段构成时,每 个字段的值都不能取NULL。
主键设计技巧,请参看本书内容。
第36页,共715页。
1.4.2 为每张表定义一个主键
student(student_no,student_name,student_contact)
王五 马六 田七
17000000000 18000000000 19000000000
NULL 2 2
班级classes表
reference class_no class_name department_name
reference
1 2012自动化1班 机电工程
reference
2 2012自动化2班 机电工程
关系数据库设计技术
第21页,共715页。
1.2.3 “选课系统”概述
退课
调课
限于篇幅,在不 影响“选课系统”核
《MySQL数据库》教学讲解课件
随着云计算技术的发展,MySQL在云数据库领域的应用将更加广泛 ,为用户提供更加便捷、高效的数据存储和管理服务。
04
MySQL将不断推出新的功能和特性,满足用户不断增长的需求,推 动数据库技术的不断发展。
11
02
MySQL安装与配置
2024/1/24
12
安装MySQL服务器
1 2
选择合适的MySQL版本
事务处理
索引与优化
深入介绍如何使用SELECT语句 进行复杂的数据查询,包括条 件查询、排序、聚合函数等, 以及如何使用INSERT、 UPDATE、DELETE语句进行数 据的增删改。
2024/1/24
讲解如何使用GRANT、 REVOKE等语句来控制数据的 访问权限。
介绍事务的概念、特性(ACID )以及在MySQL中如何控制事 务。
左连接(LEFT JOIN):返回左表中 的所有记录和右表中满足条件的记 录,如果右表中没有匹配的记录, 则结果集中对应字段为NULL。
2024/1/24
右连接(RIGHT JOIN):返回右表 中的所有记录和左表中满足条件的 记录,如果左表中没有匹配的记录 ,则结果集中对应字段为NULL。
全外连接(FULL OUTER JOIN): 返回左表和右表中的所有记录,如 果某侧表中没有匹配的记录,则结 果集中对应字段为NULL。
。
03
删除数据
使用DELETE FROM语句删除表中的数据,需要指定删除的条件。同时
需要注意删除操作可能带来的数据丢失问题,建议在进行删除操作前备
份数据。
19
04
查询语句高级应用
2024/1/24
20
多表联合查询实现方法
MySQL数据库课程的设计
MySQL数据库课程的设计一、课程介绍MySQL数据库课程是一门针对数据库管理和数据存储的课程。
通过学习MySQL数据库,学生将学会如何设计和管理数据库,执行SQL查询和优化数据库性能。
本课程旨在帮助学生掌握数据库管理和数据分析的基本技能,为日后的职业发展奠定基础。
二、课程目标1. 熟练掌握MySQL数据库的基本概念和架构。
2. 能够设计和创建数据库表、索引和视图。
3. 能够执行SQL查询和使用各种SQL函数进行数据分析。
4. 能够优化数据库性能和执行备份与恢复操作。
5. 了解数据库安全性和数据完整性的相关知识。
6. 能够使用MySQL Workbench进行数据库管理。
三、课程大纲1. 数据库基础- 数据库概念和基本架构- 关系型数据库与非关系型数据库- SQL语言概述- 数据库设计原则2. MySQL安装与配置- MySQL服务器的安装与配置- 数据库和表的创建- 用户管理与权限控制3. 数据库设计- 数据类型与约束- 表的设计与创建- 索引的设计与优化- 视图的设计和使用4. SQL查询- 基本查询语句- 条件查询和逻辑运算- 聚合函数和分组查询- 子查询和联合查询7. 数据安全性- 用户认证与权限管理- 数据加密和访问控制- 数据库审计和日志管理- 数据完整性与一致性四、教学方式本课程采用理论教学与实践操作相结合的教学方式。
教师将结合各种案例和实际应用场景,引导学生进行数据库设计和查询练习。
课程涵盖的内容丰富多样,学生将通过大量的练习,巩固所学知识,并能够独立完成数据库设计和管理任务。
五、教材与参考书籍主教材:《MySQL技术内幕:InnoDB存储引擎》参考书籍:1. 《高性能MySQL》2. 《MySQL数据库实战》3. 《MySQL技术编程》六、课程评估课程评估将综合考虑学生的平时表现、作业质量和期末考试成绩。
平时表现包括课堂积极参与程度、课后作业完成情况和实验室操作成绩。
期末考试主要考察学生对数据库设计和管理的掌握程度。
《MySQL数据库原理与应用项目化教程(微课版)》教案 项目7--11 简单查询--数据库的安全管理
项目1认识数据库............................................... 错误!未定义书签。
任务11理解数据库的几个基本概念............................ 错误!未定义书签。
任务1.2理解数据模型 ....................................... 错误!未定义书签。
任务1.3了解SQ1语言....................................... 错误!未定义书签。
项目2数据库设计............................................... 错误!未定义书签。
任务2.1概念结构设计 ....................................... 错误!未定义书签。
任务2.2逻辑结构设计——E-R图转换成关系模型................ 错误!未定义书签。
任务2.3逻辑结构设计-关系模型的优化......................... 错误!未定义书签。
项目3MySQ1环境部署........................................... 错误!未定义书签。
任务3.1MySQ1的安装与配置.................................. 错误!未定义书签。
任务3.2使用MySQ1 .................................................................................. 错误!未定义书签。
项目4数据库创建与管理......................................... 错误!未定义书签。
任务4.1创建数据库 ......................................... 错误!未定义书签。
如何在Linux终端中创建和管理数据库
如何在Linux终端中创建和管理数据库在Linux终端下创建和管理数据库是许多开发者和系统管理员必备的技能。
在本文中,我们将介绍如何使用命令行工具来创建和管理数据库。
一、安装数据库管理系统在开始之前,我们需要确保已经安装了所需的数据库管理系统。
在Linux上,最常见的数据库管理系统是MySQL和PostgreSQL。
你可以通过以下命令来安装它们:1. 安装MySQL```sudo apt updatesudo apt install mysql-server```2. 安装PostgreSQL```sudo apt updatesudo apt install postgresql```二、创建数据库完成安装后,我们可以使用以下命令来创建数据库:1. 创建MySQL数据库```mysql -u root -p```然后输入数据库管理员的密码以登录MySQL控制台。
接下来,输入以下命令来创建数据库:```CREATE DATABASE <database_name>;```将`<database_name>`替换为你想要创建的数据库的名称。
2. 创建PostgreSQL数据库```sudo -i -u postgrespsql```然后输入以下命令来创建数据库:```CREATE DATABASE <database_name>;```将`<database_name>`替换为你想要创建的数据库的名称。
三、管理数据库用户和权限在管理数据库时,添加和管理用户以及设置权限是非常重要的。
以下是在Linux终端中管理数据库用户和权限的常见命令:1. MySQL用户管理- 创建新用户:```CREATE USER '<username>'@'localhost' IDENTIFIED BY'<password>';```将`<username>`和`<password>`替换为用户的实际名称和密码。
《MySQL数据库技术与应用》课程教学大纲
《MySQL数据库技术与应用》教学大纲一、适用对象适用于本科学生。
二、课程性质数据库是数据管理的最新技术,是计算机科学的重要分支,作为信息系统核心和基础的数据库技术在各级部门和企事业单位中得到广泛的应用。
数据库课程是计算机科学与技术专业、软件工程专业的专业必修课,也是电子信息工程、通信工程、电子商务等非计算机专业本科、专科学生的必修课程之一。
MySQL是一个由Oracle公司开发的具有跨平台、开放源代码、体积小、速度快等特点的数据库管理系统,在信息管理系统和各类中小型网站的开发中得到广泛的应用。
本课程以数据库原理为基础,以Oracle公司最新推出的MySQL 8.0作为平台,内容包括数据库概论、MySQL的安装和运行、MySQL数据库、MySQL表、表数据操作、数据查询、视图、索引、数据完整性、MySQL语言、存储过程和存储函数、触发器和事件、安全管理、备份和恢复、事务和锁。
学生将对数据库技术的基本概念、原理、方法和技术有较深刻的理解,掌握SQL 语言查询和编程的基本技术,掌握数据库系统安装、配置、管理和维护的基本技能,具备管理和开发简单数据库应用系统的能力。
前序课程:计算机基础、C语言。
三、教学目的1. 掌握数据库技术的基本概念、原理、方法和技术。
2. 掌握SQL语言查询和编程的基本技术,具备SQL语言编程能力。
3. 掌握数据库系统安装、配置和数据库管理和维护的基本技能。
4. 掌握设计数据库的基本方法,具备数据库设计的能力。
5. 了解数据库技术的最新发展。
四、学时安排教材:《MySQL数据库技术与应用》.学时安排:讲课32学时,实验32学时,共计64学时。
五、教学要求(按章节详细阐述)第1章数据库概论教学要求:●理解数据库和数据库系统的概念;●掌握数据库系统的组成,掌握数据库管理系统的功能和组成;●掌握数据模型的概念和数据模型的类型;●掌握关系数据库基本概念和关系运算;●了解设计数据库的基本方法;●掌握依据需求分析进行概念结构设计和逻辑结构设计的技术和方法,具备根据需求分析阶段收集到的信息画出E-R图,并将E-R图转化为关系模式的能力;●了解物理结构设计、数据库实施、数据库运行和维护;●了解大数据和NoSQL数据库的基本概念。
《MySQL数据库应用实战教程》教学大纲
《MySQL数据库应用》课程教学大纲一、课程名称及代码课程名称:MySQL数据库应用课程代码:XXXXXX二、适用教育层次及专业教育层次:高职专科适用专业:XXXX专业三、学分、学时学分数:4 学时数:64四、课程类型课程性质:专业基础课课程类别:理论+ 实践课五、先修课程名称及代码一门编程类课程(任何语言,如C++、Java或Python等)六、教学目标本课程的任务是使学生掌握关系数据库的基本原理和基础知识,能够正确使用MySQL开发环境创建和使用数据库,掌握数据结构设计、创建数据库和表、操纵数据和查询数据的技术,学会使用SQL语言编写视图、存储过程、存储函数、触发器等数据库对象,学会数据库安全管理和备份与恢复的方法,为提高学生专业素质和为继续学习,从事专业实践工作打下良好基础。
1.知识目标(1) 掌握关系数据库理论、数据库建模、数据结构设计技术。
(2) 掌握结构化查询语言SQL、查询优化、视图、索引、SQL编程等。
(3) 了解事务和并发控制原理。
(4) 掌握数据库备份和恢复技术。
(5) 掌握数据库安全和运维技术。
2.能力目标(1) 具有进行小型数据库项目的需求分析能力。
(2) 具有进行小型数据库项目的设计开发能力。
(3) 具有使用SQL语言进行数据定义、操纵、查询和编程的能力。
(4) 具有基本的数据库运维管理能力。
3.素质目标(1) 具有自学能力和探索精神、拥有求知欲望和学习兴趣(2) 具有分析问题、解决问题的能力。
(3) 具有建立实验假设、探索查阅知识的能力。
(4) 能够运用系统性思维分析和解决问题。
(5) 具有良好的变通能力、一定的创造性思维和批判性思维。
(6) 能负责地完成任务,具有严格的时间观念以及时间管理意识。
(7) 能了解本专业职业成长过程,并能做好个人的职业规划。
(8) 遵纪守法,爱岗敬业,具有良好的职业道德和职业形象。
七、教学内容及要求单元一了解数据库1.教学基本要求1)了解MySQL数据库管理系统,及其与其他数据库管理系统的区别。
Dockeryum安装Mysql8、用户管理、权限管理、配置详解、常见问题解决
Dockeryum安装Mysql8、⽤户管理、权限管理、配置详解、常见问题解决⼀、docker安装1、查看可⽤的 MySQL 版本2、拉取 MySQL 镜像这⾥我们拉取官⽅的最新版本的镜像:$ docker pull mysql:8.0.263、查看本地镜像使⽤以下命令来查看是否已安装了 mysql:$ docker images4、创建挂载⽬录mkdir -p /usr/local/mysql/confmkdir -p /usr/local/mysql/datamkdir -p /usr/local/mysql/logs5、创建fvim /usr/local/mysql/conf/f把下⾯配置复制到⽂件中:# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; version 2 of the License.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA## The MySQL Server configuration file.## For explanations see# /doc/mysql/en/server-system-variables.html[client]default-character-set = utf8mb4[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Custom config should go here# 字符集character_set_server=utf8collation-server=utf8_general_ci# 是否对sql语句⼤⼩写敏感,1表⽰不敏感lower_case_table_names = 1# 最⼤连接数max_connections = 1000# Innodb缓存池⼤⼩innodb_buffer_pool_size = 4G# 表⽂件描述符的缓存⼤⼩table_open_cache_instances=1table_open_cache=2000table_definition_cache=2000!includedir /etc/mysql/conf.d/6、创建启动容器docker run --restart=always --name mysql8.0 --privileged=true \-d -p 3306:3306 \-v /usr/local/mysql/conf/f:/etc/mysql/f \-v /usr/local/mysql/logs:/logs \-v /usr/local/mysql/data/mysql:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.26参数解释:--restart=always -> 开机启动容器,容器异常⾃动重启--name -> 指定容器名称-d -> 以守护进程的⽅式启动容器-p -> 映射宿主机端⼝-v -> 映射配置⽂件、⽇志、数据-e -> 写⼊配置root密码7、查看是否启动正常$ docker ps使⽤Navicat连接:⼆、yum 安装1、(如果服务器接通外⽹)直接⽤wget下载mysql源rpm安装包cd ~wget https:////mysql80-community-release-el7-3.noarch.rpm如果没有安装wget,则安装: yum -y install wget2、(如果服务器没有接通外⽹)下载mysql源rpm安装包上传到服务器3、安装rmp包yum install mysql80-community-release-el7-3.noarch.rpm4、查看是否安装成功[root@localhost ~]# yum repolist enabled | grep "mysql.*"!mysql-connectors-community/x86_64 MySQL Connectors Community 212!mysql-tools-community/x86_64 MySQL Tools Community 132!mysql80-community/x86_64 MySQL 8.0 Community Server 2835、安装mysqlyum -y install mysql-community-server6、(可选)修改配置:vim /etc/f把下⾯配置复制到⽂件中:# For advice on how to change settings please see# /doc/refman/8.0/en/server-configuration-defaults.html[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove the leading "# " to disable binary logging# Binary logging captures changes between backups and is enabled by# default. It's default setting is log_bin=binlog# disable_log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2M## Remove leading # to revert to previous value for default_authentication_plugin,# this will increase compatibility with older clients. For background, see:# https:///doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin # default-authentication-plugin=mysql_native_passworddatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid# Custom config should go here# 字符集character_set_server=utf8collation-server=utf8_general_ci# 是否对sql语句⼤⼩写敏感,1表⽰不敏感lower_case_table_names = 1#最⼤连接数max_connections = 1000# Innodb缓存池⼤⼩innodb_buffer_pool_size = 4G# 表⽂件描述符的缓存⼤⼩table_open_cache_instances=1table_open_cache=2000table_definition_cache=20007、启动mysqlservice mysqld.service restart8、查看启动状态[root@localhost etc]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since 四 2021-08-26 16:04:16 CST; 1 day 1h agoDocs: man:mysqld(8)/doc/refman/en/using-systemd.htmlMain PID: 8704 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─8704 /usr/sbin/mysqld8⽉ 26 16:04:05 localhost.localdomain systemd[1]: Starting MySQL Server...8⽉ 26 16:04:16 localhost.localdomain systemd[1]: Started MySQL Server.9、配置开机启动systemctl enable mysqldsystemctl daemon-reload10、查看初始化密码[root@localhost etc]# cat /var/log/mysqld.log | grep password2021-08-26T08:04:10.256089Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Gg2P(&gB<>Z)11、输⼊命令进⼊mysqlmysql -uroot -p 回车输⼊初始密码密码(粘贴即可)12、修改密码mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '设置密码';13、创建远程连接root⽤户、授权mysql> use mysql;mysql> create user 'root'@'%' identified by '123456';mysql> grant all privileges on *.* to 'root'@'%' with grant option;mysql> flush privileges;mysql> select user,host from user;mysql> show grants for root@'%';14、使⽤Navicat连接三、⽤户管理1、新增⽤户格式:create user '⽤户名'@localhost identified by '密码'; ——localhost表⽰只允许本地连接,'%' 代表允许所有远程连接,ip表⽰只允许指定ip连接;例⼦:create user 'root'@'%' identified by '123456';# 使⽤password关键字密码需要符合加密⽅式create user 'root'@'%' identified by password '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';2、删除⽤户格式:drop user '⽤户名'@'localhost';例⼦:drop user 'root'@'%';3、查看⽤户# 切换到mysql:use mysql;# 执⾏查看语句:select User,Host,Password from user;4、更改⽤户密码:格式:mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '设置新密码';例⼦:mysql>ALTER USER 'root'@'%' IDENTIFIED BY '123456';# 使⽤password关键字密码需要符合加密⽅式mysql>ALTER USER 'root'@'%' password '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';格式:mysql>set password for ⽤户名@localhost =password('新密码');例⼦: mysql>set password for root@'%'=password('123456');四、权限管理通常情况下,数据库会根据不同的环境进⾏隔离,有针对性地进⾏权限控制:'root'@'%' : dev环境开放所有权限,sit,uat回收所有权限'root'@'192.168.252.%' : 该⽹段开放所有权限'root'@'IP' : 测试⼈员的IP开放所有权限1、查看⽤户权限:格式:show grants for '⽤户名'@'localhost';例⼦:show grants for 'root'@'%';2、⽤户授予权限:格式:grant 权限列表 on 数据库名.数据表名 to '⽤户表名'@'主机' with grant option;例⼦:grant all privileges on . to 'root'@'%' with grant option;# 指定密码grant all privileges on . to 'root'@'%' identified by '123456' with grant option;# 使⽤password关键字密码需要符合加密⽅式grant all privileges on . to 'root'@'%' identified by password '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' with grant option;3、刷新权限:授权以后⼀定要刷新权限:flush privileges;4、权限回收格式:revoke 权限列表 on 数据库名.数据库表名 from ⽤户名@主机;例⼦:revoke all privileges on pcloud_ust2. from 'root'@'%';5、授权、回收具体权限:select,create,delete,grant赋予:grant select,create,delete on . to 'root'@'localhost' with grant option;回收:revoke select,create,delete,grant option on . from 'root'@'localhost';五、Mysql8.0配置f详解1、关键配置1. 配置⽂件的位置MySQL配置⽂件/etc/f 或者 /etc/f.d/f2. ⼏个关键的⽂件:.pid⽂件,记录了进程id.sock⽂件,是内部通信使⽤的socket接⼝,⽐3306快.log⽂件,⽇志⽂件.cnf或.conf⽂件,配置⽂件安装⽬录:basedir数据⽬录:datadir2、/etc/f[client]port = 3306socket = /tmp/mysql.sock[mysqld]# Mysql服务的唯⼀编号每个mysql服务Id需唯⼀server-id = 1# 服务端⼝号默认3306port = 3306# mysql安装根⽬录basedir = /usr/local/mysql# mysql数据⽂件所在位置datadir = /usr/local/mysql/data# pidpid-file = /usr/local/mysql/mysql.pid# 设置socke⽂件所在⽬录socket = /tmp/mysql.sock# 设置临时⽬录tmpdir = /tmp# ⽤户user = root# 允许访问的IP⽹段bind-address = 0.0.0.0# 跳过密码登录#skip-grant-tables# 主要⽤于MyISAM存储引擎,如果多台服务器连接⼀个数据库则建议注释下⾯内容skip-external-locking# 只能⽤IP地址检查客户端的登录,不⽤主机名skip_name_resolve = 1# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)transaction_isolation = READ-COMMITTED# 数据库默认字符集,主流字符集⽀持⼀些特殊表情符号(特殊表情符占⽤4个字节)character-set-server = utf8mb4# 数据库字符集对应⼀些排序等规则,注意要和character-set-server对应collation-server = utf8mb4_general_ci# 设置client连接mysql时的字符集,防⽌乱码init_connect='SET NAMES utf8mb4'# 是否对sql语句⼤⼩写敏感,1表⽰不敏感lower_case_table_names = 1# TIMESTAMP如果没有显⽰声明NOT NULL,允许NULL值explicit_defaults_for_timestamp = true# MySQL连接闲置超过⼀定时间后(单位:秒)将会被强⾏关闭#MySQL默认的wait_timeout 值为8个⼩时, interactive_timeout参数需要同时配置才能⽣效interactive_timeout = 1800wait_timeout = 1800#数据库错误⽇志⽂件log_error = error.log3、其他的配置详解1. 禁⽤mysql的缓存查询结果集功能# 写⼊频繁的数据库,不要开查询缓存# 后期根据业务情况测试决定是否开启# ⼤部分情况下关闭下⾯两项# ⾸先要把Query_cache和该表相关的语句全部置为失效,然后在写⼊更新。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.2 db表和host表
db表和host表也是MySQL数据库中非常重要的权限表 。db表中存储了某个用户对一个数据库的权限。db表比较 常用,而host表很少会用到。使用DESC语句来查看这两个 表的基本结构。这两个表的表结构差不多。db表和host表的 字段大致可以分为两类,分别是用户列和权限列。 1.用户列 2.权限列
10.2 帐户管理
账户管理是MySQL用户管理的最基本的内容。账户管 理包括登录和退出MySQL服务器、创建用户、删除用户、 密码管理、权限管理等内容。通过账户管理,可以保证 MySQL数据库的安全性。
10.2.1 登录和退出MySQL服务器
用户可以通过mysql命令来登录MySQL服务器。在本 小节中将详细的介绍mysql命令的参数和退出MySQL服务器 的方法。启动MySQL服务后,可以通过mysql命令来登录 MySQL服务器。命令如下: mysql -h hostname|hostIP -P port -u username -p DatabaseName -e "SQL语句"
DROP USER „test2‟@‟localhost‟;
2 用DELETE语句删除普通用户 DELETE FROM er WHERE host=„hostname‟ AND user=„username‟; Host和user这两个字段都是er表的主键。这 两个字段才能唯一的确定一条记录。
1 用户列 Db表的用户列包括host、db和user字段,分别表示主 机名、数据库名和用户名。Host表的用户列有两个字段, 分别是host和db. Host表是db表的扩展。如果db表找不到host字段的值 ,就需要到host表中去寻找。 Host表很少用到,通常db表的设置已经满足要求
2 权限列 User表中的权限是针对所有数据库。如果user表中的 select_priv字段取值为y,那么该用户可以查询所有数据库 中的表;如果某个用户只设置了查询test数据库的权限,那 么user表的select_priv字段的取值为N。而这个select权限 则记录在db表中,db表中select_priv字段的取值会是Y.
FLUSH PRIVILEGES;
10.2.4 root用户修改自己的密码
root用户拥有很高的权限,因此必须保证root用户的密 码的安全。root用户可以通过多种方式来修改密码。本小节 将介绍几种root用户修改自己的密码的方法。 1.使用mysqladmin命令来修改root用户的密码 2.修改mysql数据库下的user表 3.使用SET语句来修改root用户的密码
第10讲 MySQL用户管理
MySQL用户包括普通用户和root用户。这两种用户的 权限是不一样的。root用户是超级管理员,拥有所有的权限 。root用户的权限包括创建用户、删除用户、修改普通用户 的密码等管理权限。而普通用户只拥有创建该用户时赋予它 的权限。用户管理包括管理用户的帐户、权限等。
10.1 权限表
10.2.3 删除普通用户
在MySQL数据库中,可以使用DROP USER语句来删 除普通用户,也可以直接在er表中删除用户。 1.用DROP USER语句来删除普通用户 2.用DELETE语句来删除普通用户
1 用drop user语句删除普通用户 DROP USER user [,user]… user参数是需要删除的用户,由用户的用户名(User) 和主机名(Host)组成
Root用户可以使用mysqladmin命令修改密码,但普通 用户通常不能使用这个命令。
10.3 权限管理
权限管理主要是对登录到数据库的用户进行权限验证 。所有用户的权限都存储在MySQL的权限表中。数据库管 理员要对权限进行管理。合理的权限管理能够保证数据库系 统的安全。不当的权限设置可能会给数据库系统带来意想不 到的危害。
新密码必须使用password()函数来加密。 FLUSH PRIVILEGES;
3 使用set语句来修改root用户的密码 Set password=password(“new_password”);
15.2.5 root用户修改普通用户密码
root用户不仅可以修改自己的密码,还可以修改普通用 户的密码。root用户登录MySQL服务器后,可以通过SET语 句、修改user表和GRANT语句来修改普通用户的密码。本 小节将向读者介绍root用户修改普通用户密码的方法。 1.使用SET语句来修改普通用户的密码 2.修改mysql数据库下的user表 3.用GRANT语句来修改普通用户的密码
1 用create user语句来新建普通用户 CREATE USER user[IDENTIFIED BY „password‟] [, user[IDENTIFIED BY „password‟]]…
user由用户名(User)和主机名(Host)构成; IDENTIFIED BY关键字用来设置用户的密码
3 grant语句修改 Grant priv_type on database.table To user[identified by „password‟];
10.2.6 普通用户修改密码
普通用户也可以修改自己的密码。这样普通用户就不 需要每次需要修改密码时都通知管理员。普通用户登录到 MySQL服务器后,可以通过SET语句来设置自己的密码。 SET语句的基本形式为: SET PASSWORD=PASSWORD('new_password');
1 set语句 Set password for „username‟@‟hostname‟=password(“new_password”);
2 修改er表 Update er set password=password(“new_password”) where user=“username” and host=“localhost”;
FLUSH PRIVILEGES;
3 用GRANT语句来新建普通用户 GRANT priv_type ON database.table TO user[IDENTIFIED BY „password‟] [,user[IDENTIFIED BY „password‟]]…
Priv_type参数表示新用户的权限; Database.table新用户的权限范围,只能在指定的数 据库和表上使用自己的权限
10.1.3 tables_priv表和columns_priv表
tables_priv表可以对单个表进行权限设置。 columns_priv表可以对单个数据列进行权限设置。可以使用 DESC语句来查看这两个表的基本结构。 tables_priv表包含8个字段,分别是Host、Db、User、 Table_name、Table_priv、Column_priv、Timestamp和 Grantor。前四个字段分别表示主机名、数据库名、用户名 和表名。Table_priv表示对表进行操作的权限。这些权限包 括Select、Insert、Update、Delete、Create、Drop、Grant 、References、Index和Alter。Column_priv表示对表中的数 据列进行操作的权限。这些权限包括Select、Insert、Update 和References。Timestamp表示修改权限的时间。Grantor表 示权限是谁设置的。
2 权限列 User表的权限列包括Select_priv,Insert_priv等以priv 结尾的字段。这些字段决定了用户的权限。 普通权限:查询、修改、删除等(用于操作数据库) 高级管理权限:关闭服务权限、超级权限和加载用户 等(用于对数据库进行管理) 通过update语句更新user表的方式来设置权限。
3 安全列 Ssl_type、ssl_cipher、x509_issuer和 x509_subject Ssl用于加密;x509标准可以用来标识用户。
4 资源控制列 Max_questions、max_updates、 max_connections和max_user_connections Max_questions和max_updates分别规定每小时可以 允许执行多少次的查询和更新 max_connections规定每小时可以建立多少连接 max_user_connections规定单个用户可以同时具有 的连接数。 默认值为0,表示没有限制
10.1.1 user表
user表是MySQL中最重要的一个权限表。使用DESC语 句来查看user表的基本结构。user表有39个字段。这些字段 大致可以分为四类,分别是用户列、权限列、安全列和资源 控制列。 1.用户列 2.权限列 3.安全列 4.资源控制列
1 用户列 包括Host、User、Password,分别表示主机名、用 户名和密码。 用户登录首先要判断这3个字段,同时匹配才允许登录 修改用户密码实际就是修改user表中的password字段 的值。
Hale Waihona Puke Mysql中权限分配是按照user表、db表、table_priv表 和columns_priv表的顺序进行分配的。数据库系统中,先 判断user表中的值是否为y。如果user表中的值为Y,就不 需要检查后面的表。如果user表的为N,则依次检查db表、 table_priv表和columns_priv表
10.1.4 procs_priv表
procs_priv表可以存储过程和存储函数进行权限设置。 procs_priv表包含8个字段,分别是Host、Db、User、 Routine_name、Routine_type、Proc_priv、Timestamp和 Grantor。前三个字段分别表示主机名、数据库名和用户名 。Routine_name字段表示存储过程或函数的名称。 Routine_type字段表示类型。该字段有两个取值,分别是 FUNCTION和PROCEDURE。FUNCTION表示这是一个存 储函数。PROCEDURE表示这是一个存储过程。Proc_priv 字段表示拥有的权限。权限分为3类,分别是Execute,Alter Routine和Grant。Timestamp字段存储更新的时间。 Grantor字段存储权限是谁设置的。