mysql修改已授过的权限

对已经授过的用户权限进行修改。

我们知道:
grant 是授权命令,也可以进行授权后的权限修改操作
注意,
修改权限的时候,可以直接使用identified by password ,保持之前的密码不变!

一般我们grant授权的时候,使用identitied by,后面跟的是明文密码,生成后在mysql.user表里查询账号信息显示的才是密文密码
但是grant授权时,也可以在identified by 后面加password,这样后面设置的就是密文密码

有的时候,由开发人员先自己生成密文密码,即他们现在自己测试机上创建密码,查询到密文密码,然后将密文密码给我们运维人员进行grant授权,
这样给他们授权的密码只有他们自己知道,我们运维人员也是不知道的。

revoke 是回收权限命令(可以回收全部/或者部分权限)
flush privileges 是刷新权限表

show grants 是查看root用户权限
show grants for [email protected]‘IP‘ 查看普通用户权限

使用revoke回收部分权限
回收除了select之外的所有权限
USAGE是默认的初始状态,表示无任何权限!!

mysql> show grants for [email protected]‘61.148.60.42‘;
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘xqshijie_test‘@‘61.148.60.42‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘ |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `zh_o2o_db`.* TO ‘xqshijie_test‘@‘61.148.60.42‘ |
+-------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> REVOKE INSERT, UPDATE, DELETE ON `zh_o2o_db`.* FROM ‘xqshijie_test‘@‘61.148.60.42‘;
Query OK, 0 rows affected (0.00 sec)

这下,就只剩下select查询权限了!!!
mysql> show grants for [email protected]‘61.148.60.42‘;
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘xqshijie_test‘@‘61.148.60.42‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘ |
| GRANT SELECT ON `zh_o2o_db`.* TO ‘xqshijie_test‘@‘61.148.60.42‘ |
+-------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

也可以使用grant修改权限,修改后的权限会直接覆盖之前的权限
修改权限的时候,可以直接使用查看的密文
如下,添加update数据库权限,添加后之前的权限被覆盖!

mysql> show grants for [email protected]‘124.65.197.154‘;
+---------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+---------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘xqshijie_test‘@‘124.65.197.154‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘ |
| GRANT SELECT ON `fanghu_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
| GRANT SELECT ON `xqsj_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
| GRANT SELECT `zh_o2o_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
+---------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql> GRANT SELECT,UPDATE ON fanghu_db.* TO [email protected]‘124.65.197.154‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘;
mysql> GRANT SELECT,UPDATE ON xqsj_db.* TO [email protected]‘124.65.197.154‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘;
mysql> GRANT SELECT,UPDATE ON zh_o2o_db.* TO [email protected]‘124.65.197.154‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘;
mysql> FLUSH PRIVILEGES;

mysql> show grants for [email protected]‘124.65.197.154‘;
+---------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+---------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘xqshijie_test‘@‘124.65.197.154‘ IDENTIFIED BY PASSWORD ‘*6DE35F444D5E33C31295A5D891098CD40229D9D9‘ |
| GRANT SELECT,UPDATE ON `fanghu_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
| GRANT SELECT,UPDATE ON `xqsj_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
| GRANT SELECT,UPDATE `zh_o2o_db`.* TO ‘xqshijie_test‘@‘124.65.197.154‘ |
+---------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)

时间: 2024-12-12 14:41:26

mysql修改已授过的权限的相关文章

Mysql修改已有数据的字符集

Mysql修改已有数据的字符集 问题 在生产环境中跑了很久,发现MysqlClient连接的字符集是默认的latin1,我们一直以为都是utf8,造成这样的误解,是因为在内网环境中,我们是源码编译的Mysql,并指定了编译选项字符集位utf8,这时Mysql的是默认字符接都是utf8. 而在外网,我们是二进制包安装,默认是latin1,虽然在my.conf中指定了[client] [mysql] [mysqld] 中字符集为utf8,这并不能保证MysqlClient连接时的字符集为utf8.所

mysql修改root密码和设置权限

整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password o

mysql修改root密码和设置权限 转摘:http://www.cnblogs.com/wangs/p/3346767.html

整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password o

mac下修改mysql-root密码-各种权限问题解决

官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix 还有一个值得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498 据官方文档说, For example, if you run the server using the mysql login account, you should l

mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

Mysql 下载地址https://dev.mysql.com/downloads/mysql/ 1.连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,M

MySQL用户、[表库字段]权限、管理及查询缓存详解

MySQL用户管理: mysql> help contents; You asked for help about help category: "Contents" For more information, type 'help <item>', where <item> is one of the following categories:    Account Management    Administration    Compound Sta

我的MYSQL学习心得(十三) 权限管理

这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 3.host表 4.table_priv表 5.columns_priv表 6.proc_priv表 MySQL存取控制包含2个阶段: 阶段1:服务器检查你是否允许连接. 阶段2:假定你能连接,服务器检查你发出的每个请求.看你是否有足够的权限实施它.例如,如果你从数据库中一个表精选(select)行或从数据

使用Mysql修改密码命令更改root的密码

使用Mysql修改密码命令更改root的密码. 进入Mysql数据库命令行方式有两种方式: 方式一:在Mysql开始菜单里包含Mysql命令行客户端,只要点击输入root的密码即可进入. 方式二:在DOS模式下(CMD模式)定位到Mysql安装目录下在子目录bin,调用mysql.exe进入,即 ========================以下是命令=================================== C:\Program Files\MySQL\MySQL Server

【初学菜鸟作-MySQL数据库表的基本操作与权限管理】

表基本操作练习 1 复制用户信息表user的所有记录到userdb表里. mysql> create table userdb select * fromuser; 2 查看userdb表的表结构 mysql> desc userdb; 3 删除userdb表的所有记录 mysql> delete from userdb 4 把name字段设置为index字段 mysql> create index name on userdb(name) 5 添加编号字段id  在所有字段上方,