MySQL用户管理
主要总结MySQL进行用户管理的基本实现,包含MySQL登录,添加用户,删除用户,为用户分配权限,移除某用户的权限,修改密码,查看权限等基本操作,所有命令均亲测实现。本博文是本人的劳动成果所得,在博客园总结分享,欢迎转载。在没有作者的书面说明的情况下,必须保留本段声明。作者:itRed 邮箱:it_red@sina.com 博客链接:http://www.cnblogs.com/itred GitHub链接:http://github.com/itred
一、登录MySQL
命令格式:mysql –u(用户名) –p(密码)
mysql>mysql –uroot –p123456
二、创建用户
一般用的是insert方式进行添加用户,并且在添加时就指定了登录密码,但是就我而言,采用insert方式会报以下的错误,虽然仍可以实现,但是需要修改某个配置文件。反而显得比较麻烦!因此采用create命令会显得相当简便,实用!
如果采用这个命令:mysql> insert into user(host,user,password) values("localhost","red",password("123456"));则会在执行过程中报错如下:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value。。。
采用这个create则可以实现,命令格式:create user (用户名);
mysql>create user red 该命令为red用户创建登录密码
为red用户设置登录时所需要的密码,命令格式:
update mysql.`user` u SET u.`Password` = PASSWORD(登录密码) WHERE u.`User`=(用户名) ;
FLUSH PRIVILEGES; //使改动生效;必须要加上的
mysql>UPDATE mysql.`user` u SET u.`Password` = PASSWORD("123456") WHERE u.`User`='red' ;
mysql> FLUSH PRIVILEGES;
三、权限分配
基本常用权限操作包含:select,delete,update,create,drop等。
授权所有权限给指定用户:
命令格式:grant all privileges on 数据库.* to 用户名@localhost identified by用户密码;
mysql> grant all privileges on pythondb.* to red@localhost identified by '123456';
授权部分权限给指定用户:
命令格式:grant select,update on数据库.* to 用户名@localhost identified by '123456';
mysql> GRANT select,update ON pythondb.* TO 'red'@'localhost' IDENTIFIED BY '123456';
注释:
@localhost 本地访问
@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
四、删除用户
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
删除账户及权限:mysql>drop user 用户名@'%';
mysql>drop user 用户名@ localhost;
五、修改指定用户的登录密码
mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
六、插销权限
命令格式:revoke 权限 on 数据库.表 from '用户名'@'登录主机';//将to改为from
mysql>revoke all on *.* from ’red’@’%’
七、查看权限
命令格式:show grants;//自己
mysql>show grants for red@localhost;//指定用户指定host
|
权限 |
表列名称 |
注释 |
使用范围 |
|
select |
Select_priv |
从一张表中检索 |
表 |
|
insert |
Insert_priv |
把一条新纪录插入到一张存在的表中 |
表 |
|
update |
Update_priv |
更新已存表中行的列字段 |
表 |
|
delete |
Delete_priv |
删除表中的记录 |
表 |
|
create |
Create_priv |
创建新的数据库和表 |
数据库、表、索引 |
|
drop |
Drop_priv |
抛弃(删除)已经存在的数据库和表 |
数据库、表 |
|
reload |
Reload_priv |
再读入授权表 |
服务器管理 |
|
shutdown |
Shutdown_priv |
可能被滥用(通过终止服务器拒绝为其他用户服务) |
服务器管理 |
|
process |
Process_priv |
查看当前执行的查询的普通文本,包含设定或改变口令查询 |
服务器管理 |
|
file |
File_priv |
在服务器上读取任何可读的文件到数据库 |
服务器上的文件存取 |
|
grant |
Grant_priv |
把自己的权限授权给其他用户 |
数据库、表 |
|
reference |
Reference_priv |
打开或关闭记录文件 |
数据库、表 |
|
alter |
Alter_priv |
改变表格,用于通过重新命名表来推翻权限系统 |
表 |
|
index |
Index_priv |
创建或删除索引 |
表 |
作者:itRed
博客:http://itred.cnblogs.com
GitHub:https://github.com/itRed
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段说明,
且在文章明显位置给出原文链接,否则保留追究法律责任的权利。
MySQL用户管理的更多相关文章
- MySQL(十六)之MySQL用户管理
一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...
- MySQL用户管理及SQL语句详解
1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...
- 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理
库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...
- 【转】MySQL用户管理及SQL语句详解
[转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...
- MySQL用户管理、常用sql语句、MySQL数据库备份恢复
1.MySQL用户管理 给远程登陆用户授权:grant all on *.* to 'user1'@'127.0.0.1' identified by '123456' (这里的127.0.0.1是指 ...
- MySQL 用户管理与权限管理
MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version'; +---------------+--------+| Variabl ...
- Python 42 mysql用户管理 、pymysql模块
一:mysql用户管理 什么是mysql用户管理 mysql是一个tcp服务器,应用于操作服务器上的文件数据,接收用户端发送的指令,接收指令时需要考虑到安全问题, ATM购物车中的用户认证和mysql ...
- Mysql用户管理及权限分配
早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...
- MySQL用户管理及权限设置
mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql ...
- Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复
一.mysql用户管理 grant all on *.* to 'user1'@‘127.0.0.1’ identified by 'mimA123'; 创建user1用户 使用user1登录 /us ...
随机推荐
- 彻底理解AC多模式匹配算法
(本文尤其适合遍览网上的讲解而仍百思不得姐的同学) 一.原理 AC自动机首先将模式组记录为Trie字典树的形式,以节点表示不同状态,边上标以字母表中的字符,表示状态的转移.根节点状态记为0状态,表示起 ...
- 移动端之Android开发的几种方式的初步体验
目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...
- 04.SQLServer性能优化之---读写分离&数据同步
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 过段时间再继续写文章吧,本来准备把SQLServer一个系列写完的,最近状态很差很不好, ...
- C#中如何给Excel添加水印
我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观.所以在这篇文章中,我将 ...
- GPG终极指南(加密/签名)
我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题. 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件.多年来,为电子邮件进行加密的标准一直是 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- javascript动画系列第一篇——模拟拖拽
× 目录 [1]原理介绍 [2]代码实现 [3]代码优化[4]拖拽冲突[5]IE兼容 前面的话 从本文开始,介绍javascript动画系列.javascript本身是具有原生拖放功能的,但是由于兼容 ...
- git基本操作
一.在Windows平台上安装Git,可以下载一个msysGit的安装包,点击exe即可安装运行.安装包下载地址:https://git-for-windows.github.io/备注:git命令行 ...
- MongoDB常用操作--集合1
1.创建集合有两种方式,显示创建和隐式创建 显示创建可以使用命令 db.createCollection("集合名称") 隐式创建可以使用命令 db.集合名称.insert({}) ...
- [AlwaysOn Availability Groups] 健康模型 Part 2 ——扩展
健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为制定的归类.创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略. 场景, ...