时间:2021-07-01 10:21:17 帮助过:21人阅读
语法:GRANT <权限> ON <数据库.表名> TO <用户名@登录主机> IDENTIFIED BY ‘密码‘[WITH GRANT OPTION];
说明:
priv代表权限 select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
ON:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,写‘*.*’表示所有数据库所有表。
TO:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。
IDENTIFIED BY:指定用户的登录密码.
WITH GRANT OPTION:表示允许用户将自己的权限授权给其它用户,为可选项.
1.>创建用户www,并分配对所有数据库和表有所有的权限,允许所有主机登录,设定口令为123456.
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘www@%‘IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
2.>给主机为192.168.10.1的用户www分配可对数据库testdb所有表进行所有操作的权限,并设定口令为123456.
mysql>GRANT ALL PRIVILEGES ON testdb.* TO ‘www@192.168.10.1‘ IDENTIFIED BY ‘123456‘;
3.直接向mysql.user表插入记录(该方法个人很少用)
mysql>INSERT INTO mysql.user(Host,User,Password) VALUES(‘%‘,‘www‘,password(‘123456‘)); mysql>flush privileges;
二.刷新权限
对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。
mysql> flush privileges;
三.查看用户权限
查看某MySQL用户的使用权限: show grants for dbuser; 如:show grants for root@localhost; 查看创建数据库时用到那些参数. show create database dbname; 查看创建表时用到的那些参数. show create table 表名;
四.回收用户权限
mysql> revoke create on *.* from ‘www@localhost‘; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
五.删除用户
mysql>Delete FROM user Where User=‘www‘ and Host=‘localhost‘; mysql>flush privileges; #删除账户及权限 mysql>drop user www@localhost;
六.用户重命名
mysql> rename user ‘www‘@‘localhost‘ to ‘user1‘@‘localhost‘; Query OK, 0 rows affected (0.00 sec)
七.修改用户密码
1.用set password命令
语法:set password for ‘用户名‘@‘登录地址‘ =password(‘密码’)
mysql> set password for ‘www‘@‘localhost‘ = password(‘123‘); Query OK, 0 rows affected (0.00 sec)
2.更新mysql.user表
mysql> update user set authentication_string=password(‘123456‘) where user=‘www‘; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
3.用mysqladmin命令
语法:mysqladmin -u用户名 -p旧的密码 password 新密码
mysql> mysqladmin -uroot -p123456 password 1234abcd
八.忘记密码
1.添加登录跳过权限检查配置
修改my.cnf,在mysqld配置节点添加skip-grant-tables配置
[mysqld] skip-grant-tables
2> 重新启动mysql服务
#service mysqld restart
3> 修改密码
此时在终端用mysql命令登录时不需要用户密码,然后按照修改密码的第一种方式将密码修改即可。
注意:mysql库的user表,5.7以下版本密码字段为password,5.7以上版本密码字段为authentication_string
4> 还原登录权限跳过检查配置
将my.cnf中mysqld节点的skip-grant-tables配置删除,然后重新启动服务即可。
参考文档:http://www.toxingwang.com/database/mysql/1468.html
http://blog.csdn.net/xyang81/article/details/51822252
MySQL用户管理
标签:命令 set 忘记 password tail war http username mysql用户管理