MySQL用户及权限
1. MySQL根据对象级别划分的权限类别:
常见的权限类别:库级别、表级别、字段级别、管理类权限、程序类权限
管理类权限:
CREATE TEMPORARY TABLES
创建临时表,一般为16M;CREATE USER
:创建用户权限FILE
:在数据库导出某文件中,或者从文件加载至数据库中SUPER
:在数据库执行管理操作的权限;跟复制、授权等相关的高级管理权限SHOW DATABASES
: 一般授权给每个用户RELOAD
:重新装载授权表还有其他功能SHOUTDOWN
:关闭数据库权限REPLICATION SLAVE
:是否能创建连接实现从服务器以复制的方式复制的权限连接至数据服务器端REPLICATION CLIENT
:是否有权限从主服务器请求复制相关事件到本地,就是请求复制相关主数据库产生的时间LOCK TABLES
:请求在服务器上锁表权限PROCESS
:
程序类权限:
FUNCTION
存储函数:CREATE,ALTER,DROP,EXCUTEPROCEDURE
存储过程:CREATE,ALTER,DROP,EXCUTETRIGGER
触发器:CREATE,ALTER,DROP,EXCUTECREATE FUNCTION
:创建存储函数权限CREATE PROCEDURE
:创建存储过程权限CREATE TRIGGER
:创建触发器权限ALTER FUNCTION
:修改存储函数权限ALTER PROCEDURE
:修改存储过程权限ALTER TRIGGER
:修改触发器权限DROP FUNCTION
:删除存储函数权限DROP PROCEDURE
:删除存储过程权限DROP TEIGGER
:删除触发器权限EXCUTE FUNCTION
:执行存储函数权限EXCUTE PROCEDURE
执行存储过程权限EXCUTE TRIGGER
:执行触发器权限
库和表级别的权限:TABLE,DATABASE
ALTER
:可修改库或表权限;无需指明关键字,因为ALTER就代表仅对二者有效CREATE
:创建库或表权限CREATE VIEW
:创建视图权限DROP
:删除库或表权限INDEX
:创建过删除索引权限SHOW VIEW
:查看视图权限GRANT OPTION
:能够把自己获得的权限赠送给其他用户一个副本的权限;一般手机时不建议使用with grant option
数据操作的权限:
SELECT
INSERT
DELETE
UPDATE
字段级别权限:
SELECT(col1,col2,...)
:定义查看指定字段的权限UPDATE(col1,col2,...)
:定义更新/改指定字段权限INSERT(col1,col2,...)
:定义插入指定字段的权限
注:delete删就删一行,所以delete没有字段操作
所有权限:
ALL PRIVIEGES, ALL
2. 用户权限都保存在元数据数据库中
- 元数据数据库:mysql
- 授权表:db,host,user;这三个表是限制哪些用户通过哪些主机连接到当前数据库对哪些库做访问;
columns_priv,tables_priv,procs_priv,proxies_priv
:用来设定专门的权限
- 用户账号:
'USERNAME'@'HOST'
- USERNAME:账号名称;
- HOST:此账号可以通过哪些客户端主机请求创建连接线程;
- %:任意长度的任意字符;
- _:任意单个字符;
skip_name_resolve=ON
:跳过名称解析
- 创建用户:
CREATE USER 'user'@‘host’ [IDENTIFIED BY [PASSWORD] 'password'] [,'user'@'host' [IDENTIFIED BY [PASSWORD] 'password']...]
- 重命名:
RENAME USER old_user TO new_user[,old_user TO new_user] ...
- 删除用户:
DROP USER 'user'@'host' [,'user'@'host'] ...
- 让MySQL重新加载授权表
FLUSH PRIVILEGES
- 修改用户密码:
(1)SET PASSWORD [FOR 'user'@'host'] = PASSWORD('cleartext password');
(2)UPDATE mysql.user SET Password=PASSWORD('cleartext password') WHERE User='USERNAME' AND Host='HOST';
(3)mysqladmin -uUSERNAME -hHOST -p password 'NEW_PASS';
使其生效:FLUSH PRIVILEGES
- 忘记管理员密码的解决办法:
(1) 启动mysqld进程时,使用--skip-grant-tables 和 --skip-networking 选项;CentOS 7: mariadb.serivce
CentOS 6: /etc/init.d/mysqld
(2) 通过UPDATE 命令修改管理员密码
(3) 以正常方式启动mysqld进程操作示例:以CentOS7为例
[root@localhost ~]# systemctl stop mariadb
[root@localhost ~]# vim /usr/lib/systemd/system/mariadb.service
修改如下内容:
ExecStart=/usr/bin/mysqld_safe --basedir=/usr --skip-grant-tables --skip-networking
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start mariadb.service
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('inspur') WHERE user='root';
Query OK, 2 rows affected (0.02 sec)
Rows matched: 3 Changed: 2 Warnings: 0 MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT
Bye
[root@localhost ~]# systemctl stop mariadb.service
[root@localhost ~]# vim /usr/lib/systemd/system/mariadb.service
修改如下内容:
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
[root@localhost ~]# systemctl deamon-reload
MySQL用户及权限的更多相关文章
- Mysql 用户,权限管理的几点理解。
前两天项目数据库要移植到mysql,为此临时抓了几天很久没用的mysql. 公司的数据库比较简单,从oracle迁移到mysql很简单,但是,中间的权限管理让我感觉既简单又复杂..简单是因为网上关于m ...
- mysql 用户及权限管理 小结
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...
- MySQL Study之--MySQL用户及权限管理
MySQL Study之--MySQL用户及权限管理 MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...
- 如何给mysql用户分配权限+增、删、改、查mysql用户
在mysql中用户权限是一个很重析 参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考. 1,Mysql下创建 ...
- 入门MySQL——用户与权限
前言: 前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多. 1.创建用户 官方推荐创建语法为 ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- MySql 用户 及权限操作
bin/msyql -h host -u user -p bin/mysql -u mysql -p 本地登录 如无密码按回车直接进入mySql bin/mysqladmin -u roo ...
- mysql用户管理,权限管理
mysql权限 相关操作: 授予的权限分为四组: 列权限:和表中的一个具体列相关,例如:使用update 语句更新test表中name 列的值 表权限:和一个具体的表的所有数据相关,例如:使用 sel ...
- mysql用户和权限管理
用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...
- mysql 用户管理 权限控制
添加用户 insert into mysql.user(Host,User,Password) values("%","shenen",password(&qu ...
随机推荐
- html2canvas@^1.0.0-rc.1
这个版本的html2canvas是我在npm找到的,有严重问题,如截图后字体变小,解决方法就是官网找个min.js的版本,放到项目中引用就好 https://html2canvas.hertzen.c ...
- Pandas | 01 数据结构
Pandas的三种数据结构: 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构,构建在Numpy数组之上,这意味着它们很快 维数和描述 考虑这些数据结构的最好方法是 ...
- 网页网站基础入门篇: 使用Adobe Dreamweaver CS6 制作网页/网站
咱开发网页或者网站呢,最好使用个软件,我使用的是Adobe Dreamweaver CS6 (自行下载安装) 打开软件 现在呢咱使用 html5 <!doctype html> <h ...
- PATB1024科学计数法
代码是部分正确,只得了13分还有两个测试点没有通过,不知道原因是啥,先不深究了,赶进度. 参考代码: #include<cstdio> #include<cstring> #i ...
- git filter-branch之后撤销到原来状态
起因 因为要拆分仓库,所以按照原来的操作拆分,拆分完成后发现有问题,所以准备还原重新拆分. 注意 git filter-branch之后,不可以做其他额外操作 运行git filter-branch之 ...
- Unable to resolve service for type 'Microsoft.AspNetCore.ResponseCompression.IResponseCompressionProvider' while attempting to activate 'Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMid
System.InvalidOperationException HResult=0x80131509 Message=Unable to resolve service for type 'Micr ...
- kudu 介绍
kudu的好处: 快速的olap 列式存储,Hadoop parquet 的一种替代方案 对数据的顺序处理和随机处理都很高效 * High availability. Tablet Servers a ...
- selenium爬虫入门(selenium+Java+chrome)
selenium是一个开源的测试化框架,可以直接在浏览器中运行,就像用户直接操作浏览器一样,十分方便.它支持主流的浏览器:chrome,Firefox,IE等,同时它可以使用Java,python,J ...
- Jmeter接口测试【1】_安装配置教程
一.安装Java环境 1.下载JDK JDK 可以到官网选择windows系统版本(32位/64位)下载http://www.oracle.com/technetwork/java/javase/do ...
- python三级联动
#以字典的形式 保存相关省市数据 menu={ '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, 'HP':{}, '银行':{}, 'CCTV':{} }, '望京':{ '陌陌':{ ...