文档章节

MYSQL授权详解

曹钊
 曹钊
发布于 2017/08/19 15:24
字数 1147
阅读 10
收藏 0

本文来自于:

https://www.blog-china.cn/guopengfei/home/1/1482813314642

初始化用户示例

         安装完MySQL数据库时,系统会自动创建一个 不需要密码的root用户和一个无用户名无密码的匿名用户(Anonymous Account),需要对root用户设置密码和清理匿名用户增强数据库安全。

给root用户设置密码:

set password for’root’@’localhost’ =password(‘1234’)
         上述命令就会给root用户设置一个1234登陆密码。

删除匿名用户示例

Drop user’@’localhost
如果执行上述命令报如下错:


Error 1396(HY000) :OPERATIOIN DROP  USER FAILED FOR “@”localhost;
出现上述错误的原因是linux系统下需要以’用户’@’localhost’的格式删除,解决方法 如下:


 #先查出确切的hostname\n Select user,host from mysql.user\n #找出其中user为空的host名\n #删除这个匿名用户\n Drop user”@”上一步你找到的hostname

创建用户命令示例


insert into mysql.user(Host,User.Password) values("localhost",”test”,password(“1234”))
注意:

         1、Host参数是指创建的这个用户是否能在本地或远程登陆,Host值有两种:localhost和%。localhost表示这个用户只能本地登录;%表示这个用户可以远程登陆。

         2、User 参数是要创建的用户的用户名,Password参数是要创建的用户密码,密码格式必须为password(“密码”)。

上述命令将会 创建一个只允许本地登陆数据库的名为test,密码为1234的用户

         3、Host参数可以不写(参数和值均不写)。

修改用户密码

用set password命令


 Set password for’root’@’localhost’ = password(‘123456’)
        

将root用户的密码修改为123456

用mysqladmin

mysqladmin –uroot  –p123456 password 1234abcd
格式为:mysqladmin –u用户名 –p旧密码 password 新密码

使用update命令直接编辑user表

如果你知道要修改的用户名,则直接执行下面的SQL

Update user set password=password(‘123456’) where user = ‘root’
如果你不知道用户名,则需要首先查询所有的用户名,然后再根据查询到的用户进行修改。

Mysql >  User mysql
查看用户权限

查看当前用户权限

 Mysql> Show grants;
查看某个用户的权限

Mysql> Show grants for ‘user_jack’@’%’
授权(GRANT)命令示例

         这个例子是创建一个只允许本地登录的超级管理员用户user_jack,并允许这个用户将权限授予别的用户,密码设置为jack_pwd。

grant all privileges on *.* to ‘user_jack’@‘localhost’ identified by “jack_pwd” with grant option;
注意:

1、  ALL PRIVILEGES 表示所有全新啊,你也可以使用 select 、update、delete等权限。

2、  ON用来指定权限针对哪些库和表。

3、  *.*第一个*表示指定的数据库名,后面的*表示指定表名,如果是所有的数据库和所有的表,则保持*.*不变;否则,根据自己需求指定。

4、  To 表示 将权限授予哪个用户。

5、  ‘user_jack’@‘localhost’表示user_jack用户,@后面接要限制 该用户登陆的主机,可以是IP、IP段、域名甚至是%(%表示所有地方都可以远程登陆,慎用,很多攻击都是由于此处设置了%);需要特别注意的是:有的版本设置为%时,其他IP可以登录,但是本地登陆不了,者和版本有关系,只需再加一个Localhost的用户即可。

6、  IDENTIFIED BY 指定用户的登陆密码。

7、  WITH GRANT OPTION 这个选项表示用户可以将自己拥有的权限授权给别人。需要特别注意的是:很多使用者在创建操作用户的时候不指定WITH GRANT OPTION 选项,导致这个创建的用户以后无法使用GRANT命令创建用户或者给其他用户授权。

8、  权限可以叠加,就是说GRANT命令可以重复给用户添加权限,比如先给用户已给select 权限,然后又给用户update权限,那么这个用户就同时拥有了select 权限和update权限。

9、  授权后需要刷新权限(命令:mysql > flush privileges),否则可能会遇到权限命令没生效的问题 。

删除用户及权限

删除用户

如果你知道要删除的用户名,则可以直接执行下面的SQL

Mysql> drop user ‘user_jack’@’localhost’
如果你不知道哪些用户名没用,则需要使用下面的命令查看所有的用户,然后再根据查找到的 用户执行上面的SQL

Mysql> select host.user.password from user;

回收权限

Revoke delete on *.* from ‘user_jack’@’localhost’
上述命令会回收user_jack用户的所有权限。

© 著作权归作者所有

曹钊
粉丝 0
博文 19
码字总数 10364
作品 0
丰台
程序员
私信 提问
MySQL5.6性能调优 my.cnf 配置详解 和 启动失败遇到的问题

首先记录下在使用新的 my.cnf 进行安装 MySQL后,由于改变了 datadir 目录,会造成 service mysql start 无法启动:The Server quit without updating PID file(/xx/xx.pid) 出现这样无法启动...

山哥
2016/04/06
1K
0
Mysql从库read-only配置详解

Mysql从库read-only配置详解 www.111cn.net 更新:2015-03-06 编辑:kp12345 来源:转载 在做mysql主从同步时我们会碰到一个从库read-only了,下面小编来为各位介绍Mysql从库read-only配置详解,...

xiaozhenkai
2017/07/31
0
0
centos7+mysql5.7二进制安装

一、优化部分 1、操作系统参数调优 2、数据库参数调优 3、防火墙设置等 二、安装部分 1、创建用户和组 # groupadd mysql useradd -g mysql mysql 2、到安装目录,解压安装文件 #cd /data ta...

francisxys
2018/05/18
0
0
cmd连接mysql的方法详解

mysql cmd常用命令,偶尔需要命令行执行mysql的朋友可以参考下。 将mysql目录下bin目录中的mysql.exe放到C:WINDOWS下,可以执行以下命令 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:...

浩爷
2016/06/14
82
0
mysql快速上手

mysql操作 一、连接数据库 mysql -u user -p 例:mysql -u root -p 常见错误如下: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it m......

younger008
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部