用户管理

我们知道在Mysql中root用户是最高权限的用户,其他用户的创建和权限授予都是通过root用户来操作的

查看用户

在root用户界面下

select user,host,password from mysql.user;

```sql
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
+------+-----------+-------------------------------------------+
```


## 创建用户
### 指定ip和用户名登录

指定ip为192.168.1.17的mm用户登录

create user 'mm'@'192.168.1.17' identified by '123';

identified by 'password'表示为创建的用户设置密码,可以省略

+------+--------------+-------------------------------------------+
| user | host | password |
+------+--------------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| mm | 192.168.1.17 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+--------------+-------------------------------------------+

### 指定ip地址段和用户名登录

指定ip地址段的mm用户登录

create user 'mm'@'192.168.1.%' identified by '123';

```sql
+------+--------------+-------------------------------------------+
| user | host | password |
+------+--------------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| mm | 192.168.1.17 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| mm | 192.168.1.% | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+--------------+-------------------------------------------+

<br>

### 如果不指定ip,则默认是所有的ip都可以登录

```sql
create user 'hh' identified by '123';

```sql
+------+--------------+-------------------------------------------+
| user | host | password |
+------+--------------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| mm | 192.168.1.17 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| mm | 192.168.1.% | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| hh | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+--------------+-------------------------------------------+


注意:mysql识别用户是通过用户名和ip联合识别的,其中<b><font color='#ff0000'>localhost和127.0.0.1被认为是两个不同的ip</font></b>,也就是说,mm@'localhost'和mm@'127.0.0.1'是两个不同的用户!
<br> ## 删除用户
删除用户不能直接对mysql.user表进行操作,而是使用drop语句
```sql
drop user 'mm'@'192.168.1.17';
drop user 'hh'; # host为%时,可以省略不写

## 修改用户(用户名和ip)
语法为
```sql
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

修改mm用户的登录ip为192.168.1.111

```sql
rename user 'mm'@'192.168.1.%' to 'gf'@'192.168.1.111';

```sql
+------+---------------+-------------------------------------------+
| user | host | password |
+------+---------------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| gf | 192.168.1.111 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| sh | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| ss | % | |
+------+---------------+-------------------------------------------+

<br>

## 修改密码

语法
```sql
SET PASSWORD FOR '用户名'@'IP地址' = PASSWORD('新密码');

修改gf用户的密码为456
```sql
set password for 'gf'@'192.168.1.111'=password('456');
```


```sql
+------+---------------+-------------------------------------------+
| user | host | password |
+------+---------------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| gf | 192.168.1.111 | *531E182E2F72080AB0740FE2F2D689DBE0146E04 |
| sh | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| ss | % | |
+------+---------------+-------------------------------------------+
```

查看权限

语法

show grants for '用户'@'IP地址'

查看root用户的权限

show grants for 'root'@'localhost';

+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost
|
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
|
+----------------------------------------------------------------------------------------------------------------------------------------+

可以看到root用户拥有所有(最高)权限

查看gf用户权限

show grants for 'gf'@'192.168.1.111';

+---------------------------------------------------------------------------------------------------------------+
| Grants for gf@192.168.1.111
|
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'gf'@'192.168.1.111' IDENTIFIED BY PASSWORD '*531E182E2F72080AB0740FE2F2D689DBE0146E04' |
+---------------------------------------------------------------------------------------------------------------+

授权

语法

grant 权限1,权限2,权限3 on 数据库名.表名 to "用户"@'IP地址';

授予gf用户查询,插入,更新权限

grant select ,insert,update on *.*to "gf"@'192.168.1.111';

授予用户所有权限

grant all privileges  on 数据库名.表名 to "用户"@'IP地址';

给sh用户授予mysql库的所有权限

grant all privileges on mysql.* to 'sh';

注意:

1)授权后需要重新登录才生效

2)不能对同一个用户,多次授权不同的权限。否则会有多条授权规则,最终以最严格的权限为准。

取消权限

语法

revoke 权限1 on 数据库名.表名 from "用户"@'IP地址';

取消gf用户对mysql库的多有表的更新权限

revoke update on *.* from 'gf'@'192.168.1.111';

取消所有权限

revoke all privileges on *.* from 'gf'@'192.168.1.111';

注意:取消的权限必须与授予的权限完全一致,不能取消部分权限

## 备份
### 备份数据和表结构
在命令行下
```
mysqldump -u root -p db1 > db1.sql
```

仅备份表结构

mysqldump -u root -p -d db1 > db2.sql

恢复

登录mysql,创建数据库

create database db10;

退出mysql,在命令行下将备份导入db10数据库里

mysqldump -u root -p -d db10 < db1.sql

提示Dump completed表示导入成功

mysql用户管理与备份的更多相关文章

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

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

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

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

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

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

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

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

  5. Oracle DB 执行用户管理的备份和恢复

    • 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...

  6. Oracle—用户管理的备份(一)

    用户管理的备份(一) 一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,d ...

  7. Oracle—用户管理的备份(二)

    在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...

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

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

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

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

随机推荐

  1. Mockito单元测试

    Mockito简介 Mockito是一个单元测试框架,需要Junit的支持.在我们的项目中,都存在相当多的依赖关系,当我们在测试某一个业务相关的接口或则方法时,绝大多数时候是没有办法或则很难去添加所有 ...

  2. Linux删除隐藏文件

    方法2.ls -a 查询隐藏文件 将后缀名为.swp的文件删除 rm -f .nginx.conf.swp 再次编辑文件不在出现提示警告!

  3. NetSec2019 20165327 Exp7 网络欺诈防范

    NetSec2019 Exp7 网络欺诈防范 一.本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立冒名网站 (1分) (2)ette ...

  4. Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed with multiple errors, see logs

    这个异常在网上一搜会出现很多答案,也可能都对. 我都尝试过但是不符合我这边的要求,问题得不到解决.网上的说法是对的,jar包冲突.不过究竟是哪里冲突没办法判断. 最后尝试了一下在module的中没用的 ...

  5. Python爬虫 爬取百合网的女人们和男人们

    学Python也有段时间了,目前学到了Python的类.个人感觉Python的类不应称之为类,而应称之为数据类型,只是数据类型而已!只是数据类型而已!只是数据类型而已!重要的事情说三篇. 据书上说一个 ...

  6. 想了解SAW,BAW,FBAR滤波器的原理?看这篇就够了!

    想了解SAW,BAW,FBAR滤波器的原理?看这篇就够了!   很多通信系统发展到某种程度都会有小型化的趋势.一方面小型化可以让系统更加轻便和有效,另一方面,日益发展的IC**技术可以用更低的成本生产 ...

  7. Struts2的核心——拦截器

    虽然以前已经学了很多的拦截器,但是在这里还是想重头梳理一下所有有关拦截器的知识,尤其是struts2中的拦截器 1:拦截器是什么? java里的拦截器是动态拦截Action调用的对象.它提供了一种机制 ...

  8. Foundation框架 - 结构体

    一.基础知识 如果要想使用 Foundation 框架的数据类型,那么包含它的主头文件就可以了.即 #import <Foundation/Foundation.h> 补充: Core F ...

  9. 错误:set Assigning an instance of 'esri.***' which is not a subclass of 'esri.***‘

    1.    出现 set Assigning an instance of 'esri.***' which is not a subclass of 'esri.***‘的错误原因 是 因为没有找见 ...

  10. vue.js实战——购物车练习(包含全选功能)

    vue.js实战第5章 54页的练习1 直接放代码好了,全选的部分搞了好久,代码好像有点啰嗦,好在实现功能了(*^▽^*) HTML: <!DOCTYPE html> <html l ...