mysql 用户与权限
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 用户与权限的更多相关文章
- Mysql 用户,权限管理的几点理解。
前两天项目数据库要移植到mysql,为此临时抓了几天很久没用的mysql. 公司的数据库比较简单,从oracle迁移到mysql很简单,但是,中间的权限管理让我感觉既简单又复杂..简单是因为网上关于m ...
- mysql 用户及权限管理 小结
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...
- MySQL Study之--MySQL用户及权限管理
MySQL Study之--MySQL用户及权限管理 MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...
- 如何给mysql用户分配权限+增、删、改、查mysql用户
在mysql中用户权限是一个很重析 参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考. 1,Mysql下创建 ...
- 入门MySQL——用户与权限
前言: 前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多. 1.创建用户 官方推荐创建语法为 ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- MySql 用户 及权限操作
bin/msyql -h host -u user -p bin/mysql -u mysql -p 本地登录 如无密码按回车直接进入mySql bin/mysqladmin -u roo ...
- mysql用户管理,权限管理
mysql权限 相关操作: 授予的权限分为四组: 列权限:和表中的一个具体列相关,例如:使用update 语句更新test表中name 列的值 表权限:和一个具体的表的所有数据相关,例如:使用 sel ...
- mysql用户和权限管理
用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...
- mysql 用户管理 权限控制
添加用户 insert into mysql.user(Host,User,Password) values("%","shenen",password(&qu ...
随机推荐
- Python错误和异常 学习笔记
错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到 ...
- springbatch---->springbatch的使用(七)
这里我们讲述一下springbatch中关于step层面上面的数据共享技术.而对街的人影都浸染在一片薄荷的白色中,由于无声,都好像经过漂染,不沾人间烟火. step的数据共享 关于springbatc ...
- 关于SQL优化(转载,格式有调整)
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...
- SSL延迟有多大?
http://www.ruanyifeng.com/blog/2014/09/ssl-latency.html 作者: 阮一峰 日期: 2014年9月24日 据说,Netscape公司当年设计SSL协 ...
- Windows Phone Bing lock screen doesn't change解决方法
之前一直用的Lumia 925,Bing lock screen每天都会更换.这几天换了Lumia 930,同步了账号相关的设置,发现Bing lock screen不再每天更换.尝试重启.使用cel ...
- 如何分离p12(或pfx)文件中的证书和私钥
p12(或者pfx)文件里一般存放有CA的根证书,用户证书和用户的私钥 假设我们有一个test.p12文件 在安装了openssl的linux服务器上执行以下命令: 提取用户证书: openssl p ...
- matlab中画系统零极点的方法
写论文的时候由于需要画出系统的零极点图.但是之前不知道怎么用matlab画,今天研究了一下,拿出来和大家共享.所用到的matlab函数为zplane,matlab给出的解释如下: ZPLANE Z-p ...
- 【CF900D】Unusual Sequences 容斥(莫比乌斯反演)
[CF900D]Unusual Sequences 题意:定义正整数序列$a_1,a_2...a_n$是合法的,当且仅当$gcd(a_1,a_2...a_n)=x$且$a_1+a_2+...+a_n= ...
- 完美解决Android SDK Manager无法更新
由于国内的各种屏蔽现在Android SDK Manager出现无法更新或更新太慢,如下方法可完美解决此问题 1. 打开..\Android\sdk\SDK Manager.exe 2.
- sublime添加到鼠标右键打开文件的方法?
步骤: 1.win+R 打开运行,并输入regedit. 2.在左侧依次打开HKEY_CLASSES_ROOT\*\shell 3.在shell下新建“Sublime Text”项,在右侧窗口的“默认 ...