1、用户

1)创建用户   "create user '用户'@'host' identified by '密码';"

在5.7以后的版本中要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

创建一个用户 'zhangsan',在同一网段内的主机都可以访问

create user 'zhangsan'@'192.168.1.%' identified by 'as-AS-12';

2)查看用户   "select user, host from user;"

mysql用户的所有信息都存储在 mysql.user 表中,主要包含用户的能连接mysql的主机ip,用户名,加密后的密码,权限。

host字段表示能连接mysql的的主机ip,"%" 所有的ip都能进行登录。

mysql> use mysql;
Database changed mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

3)删除用户  "drop user '用户'@'host'; "

drop user 'zhangsan'@'192.168.1.%';

4)修改用户   "rename  user  '用户'@'host'  to  '修改后的用户名'@'host';"

rename user 'zhangsan'@'192.168.1.%' to 'zhangsan'@'192.168.1.150';

5)修改密码

① 修改密码方式1,在命令行--这种方式要确认本机有连接 'zhangsan' 用户的权限,否则无法更改。

[root@mini ~]# mysqladmin -uzhangsan -p password
Enter password:
New password:
Confirm new password:

② 修改密码方式2

mysql> alter user 'zhangsan'@'%' identified by 'as-AS-12';

在mysql8.0以上的版本采用了新的加密方式,以下两种在8.0不适用

③ 修改密码方式3,在mysql中修改,只有root用户与用户自己能修改密码

mysql> set password for 'zhangsan'@'%' = password('sa-SA-12');

④ 修改密码方式4,在mysql中修改。

一定要记得where条件,否则所有的用户密码都修改了,谨慎使用,这种方式需要对mysql.user表有update权限。可以用root用户登录修改。

5.7以下的版本将 authentication_string 改为password 即可

update user set authentication_string=password('as-AS-12') where user = 'zhangsan';
flush privileges;

6)某个用户多个ip访问

create user 'zhangsan'@'192.168.1.2' identified by 'as-AS-12';
create user 'zhangsan'@'192.168.1.3' identified by 'as-AS-12';
create user 'zhangsan'@'192.168.1.4' identified by 'as-AS-12';

2、权限

1)所有的权限

有关mysql所有权限可查看官方文档  https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html

2)查看权限   "show grants for '用户'@'host';"     *:代表所有数据库或数据表

查看 'zhangsan' 的权限,如下 'zhangsan' 并没有任何的权限。

mysql> show grants for 'zhangsan'@'%';
+------------------------------------------------+
| Grants for zhangsan@% |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhangsan'@'%' |
+------------------------------------------------+
1 row in set (0.00 sec) 

3)权限赋予  "grant 权限 on 数据库.数据表 to '用户'@'host';"

① 给 'zhangsan' 赋予 'update, select, insert' 权限,在test2数据库的所有表

mysql> grant select, update, insert on test2.* to 'zhangsan'@'%';
Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'zhangsan'@'%';
+-------------------------------------------------------------+
| Grants for zhangsan@% |
+-------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhangsan'@'%' |
| GRANT SELECT, INSERT, UPDATE ON `test2`.* TO 'zhangsan'@'%' |
+-------------------------------------------------------------+
2 rows in set (0.00 sec)

② 给 'zhangsan' 赋予 'all privileges' 权限,在所有的数据库的所有表中

mysql> grant all privileges on *.* to 'zhangsan'@'%';
Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'zhangsan'@'%';
+-------------------------------------------------------------+
| Grants for zhangsan@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%' |
| GRANT SELECT, INSERT, UPDATE ON `test2`.* TO 'zhangsan'@'%' |
+-------------------------------------------------------------+
2 rows in set (0.00 sec)

4)删除权限  "revoke 权限 on 数据库.数据表 from '用户'@'host';"    *:代表所有数据库或数据表

① 删除  'zhangsan'  在  *.*  的 'all privileges' 权限

mysql> revoke all privileges on *.* from 'zhangsan'@'%';
Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'zhangsan'@'%';
+-------------------------------------------------------------+
| Grants for zhangsan@% |
+-------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhangsan'@'%' |
| GRANT SELECT, INSERT, UPDATE ON `test2`.* TO 'zhangsan'@'%' |
+-------------------------------------------------------------+
2 rows in set (0.00 sec)

② 删除  'zhangsan'  在  'test2'.*  的  'insert,  update' 权限

mysql> revoke insert, update on test2.* from 'zhangsan'@'%';
Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'zhangsan'@'%';
+---------------------------------------------+
| Grants for zhangsan@% |
+---------------------------------------------+
| GRANT USAGE ON *.* TO 'zhangsan'@'%' |
| GRANT SELECT ON `test2`.* TO 'zhangsan'@'%' |
+---------------------------------------------+
2 rows in set (0.00 sec)

mysql 用户与权限的更多相关文章

  1. Mysql 用户,权限管理的几点理解。

    前两天项目数据库要移植到mysql,为此临时抓了几天很久没用的mysql. 公司的数据库比较简单,从oracle迁移到mysql很简单,但是,中间的权限管理让我感觉既简单又复杂..简单是因为网上关于m ...

  2. mysql 用户及权限管理 小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  3. MySQL Study之--MySQL用户及权限管理

    MySQL Study之--MySQL用户及权限管理     MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...

  4. 如何给mysql用户分配权限+增、删、改、查mysql用户

    在mysql中用户权限是一个很重析 参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考. 1,Mysql下创建 ...

  5. 入门MySQL——用户与权限

    前言:  前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多. 1.创建用户 官方推荐创建语法为 ...

  6. MySQL用户与权限管理

    执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...

  7. MySql 用户 及权限操作

    bin/msyql -h host -u user -p    bin/mysql -u mysql -p  本地登录 如无密码按回车直接进入mySql   bin/mysqladmin -u roo ...

  8. mysql用户管理,权限管理

    mysql权限 相关操作: 授予的权限分为四组: 列权限:和表中的一个具体列相关,例如:使用update 语句更新test表中name 列的值 表权限:和一个具体的表的所有数据相关,例如:使用 sel ...

  9. mysql用户和权限管理

    用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...

  10. mysql 用户管理 权限控制

    添加用户 insert into mysql.user(Host,User,Password) values("%","shenen",password(&qu ...

随机推荐

  1. Python Subprocess Popen 管道阻塞问题分析解决

    http://ju.outofmemory.cn/entry/279026 场景:1>不断播放mp3文件: 2>使用订阅发布模式保持tcp长连接,从服务器接收信息 造成程序hang死,但是 ...

  2. JS缺失错误- Uncaught SyntaxError: Unexpected token <

    这种情况,表明,缺少js文件 解决方式:在文件夹下将缺少js文件补足

  3. [转]java中判断字符串是否为数字的三种方法

    1用JAVA自带的函数public static boolean isNumeric(String str){  for (int i = str.length();--i>=0;){      ...

  4. kafka---->kafka的使用(一)

    今天我们来学习一下kafka的简单的使用与配置.世上有可以挽回的和不可挽回的事,而时间经过就是一种不可挽回的事. kafka的安装配置 一.kafka的使用场景 活动跟踪:网站用户与前端应用程序发生交 ...

  5. css笔记 - transform学习笔记(二)

    transform转换 CSS transform 属于2D/3D上的转换.变形效果.他不是一个动画,他就是变形.比如正方形变平行四边形,再变圆形.都是形状变成另一个形状. 但是如果配合上transi ...

  6. vue经验 - 那些自己给自己挖的深坑

    深坑场景:vue-异步请求数据,数据还没回来,页面却如饥似渴的准备好了的尴尬场景:问题原因和解决如下: 1.先说vuex中的store,一开始我为了偷懒是这么设置的,如下图: 然后我到了组件中直接这么 ...

  7. List的五种去重方式

    //set集合去重,不改变原有的顺序 public static void pastLeep1(List<String> list){ System.out.println("l ...

  8. Ubuntu Eclipse配置Python开发环境

    一 在Eclipse中安装pydev插件 启动Eclipse, 点击Help->Install New Software... 在弹出的对话框中,点Add 按钮. Name中填:Pydev Lo ...

  9. GitStack系统RCE漏洞学习

    漏洞简介 漏洞简情 漏洞程序 GitStack 影响版本 <=2.3.10 漏洞类型 RCE 漏洞评价 高危 漏洞编号 CVE-2018-5955 漏洞程序介绍 GitStack是一款基于Pyt ...

  10. 【CF653G】Move by Prime 组合数

    [CF653G]Move by Prime 题意:给你一个长度为n的数列$a_i$,你可以进行任意次操作:将其中一个数乘上或者除以一个质数.使得最终所有数相同,并使得操作数尽可能小.现在我们想要知道$ ...