主要总结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用户管理的更多相关文章

  1. MySQL(十六)之MySQL用户管理

    一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...

  2. MySQL用户管理及SQL语句详解

    1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...

  3. 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理

    库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...

  4. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

  5. MySQL用户管理、常用sql语句、MySQL数据库备份恢复

    1.MySQL用户管理 给远程登陆用户授权:grant all on *.* to 'user1'@'127.0.0.1' identified by '123456' (这里的127.0.0.1是指 ...

  6. MySQL 用户管理与权限管理

    MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variabl ...

  7. Python 42 mysql用户管理 、pymysql模块

    一:mysql用户管理 什么是mysql用户管理 mysql是一个tcp服务器,应用于操作服务器上的文件数据,接收用户端发送的指令,接收指令时需要考虑到安全问题, ATM购物车中的用户认证和mysql ...

  8. Mysql用户管理及权限分配

    早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...

  9. MySQL用户管理及权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql ...

  10. Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

    一.mysql用户管理 grant all on *.* to 'user1'@‘127.0.0.1’ identified by 'mimA123'; 创建user1用户 使用user1登录 /us ...

随机推荐

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  3. SQL Server2016升级前几点自检

    SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...

  4. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  5. 一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)

    在目前的软件项目中,都会较多的使用到对文档的操作,用于记录和统计相关业务信息.由于系统自身提供了对文档的相关操作,所以在一定程度上极大的简化了软件使用者的工作量. 在.NET项目中如果用户提出了相关文 ...

  6. CSS——关于z-index及层叠上下文(stacking context)

    以下内容根据CSS规范翻译. z-index 'z-index'Value: auto | <integer> | inheritInitial: autoApplies to: posi ...

  7. PHP好用但又容易忽略的小知识

    1.PHP函数之判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在.同样的method_ ...

  8. 从源码浅析MVC的MvcRouteHandler、MvcHandler和MvcHttpHandler

    熟悉WebForm开发的朋友一定都知道,Page类必须实现一个接口,就是IHttpHandler.HttpHandler是一个HTTP请求的真正处理中心,在HttpHandler容器中,ASP.NET ...

  9. 解决IE8下不兼容rgba()的解决办法

    rgba()是css3的新属性,所以IE8及以下浏览器不兼容,这怎么办呢?终于我找到了解决办法. 解决办法 我们先来解释以下rgba rgba: rgba的含义,r代表red,g代表green,b代表 ...

  10. Dynamics CRM 之ADFS 使用 WID 的联合服务器场

    使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...