SGTMS

做事情
我们是认真的
您的位置:SGTMS>速记>MySQL新建用户并给予权限

MySQL新建用户并给予权限

正文

1、使用 root 管理员登陆 mysql

mysql -uroot -p123456;

2、创建新用户

CREATE USER 'user1'@'%' IDENTIFIED BY '07fa533360d9'; 

'%' - 所有情况都能访问

'localhost' - 本机才能访问

'111.222.33.44' - 指定 ip 才能访问

修改密码

update mysql.user set password=password('新密码') where user='user1';

3、给该用户添加权限

grant all privileges on 想授权的数据库.* to 'user1'@'%';

all 可以替换为 select,delete,update,create,drop

这个时候访问,比刚才看到的数据库多出了一个刚刚添加的。

4、删除用户

Delete FROM mysql.user Where User='user1';
privilege;

操作完最好使用flush privilege命令刷新一下权限。否则可能会修改不生效。

更多实例

1.远程登录mysql

mysql -h ip -u root -p 密码

2.创建用户

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码';

例1:增加一个test1用户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

mysql>grant select,insert,update,delete on *.* to test1@'%' identified by '123456';

mysql>flush privileges;

例2:增加一个test2用户,密码为123456,只能在192.168.2.12上登录,并对数据库student有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

mysql>grant select,insert,update,delete on student.* to test2@192.168.2.12 identified by '123456';

mysql>flush privileges;

例3:授权用户test3拥有数据库student的所有权限

mysql>grant all privileges on student.* to test3@localhost identified by '123456';

mysql>flush privileges;

3.修改用户密码

mysql>update mysql.user set password=password(’123456′) where User='test1' and Host='localhost';

mysql>flush privileges;

4.删除用户

mysql>delete from user where user='test2' and host='localhost';

mysql>flush privileges;

5.删除数据库和删除表

mysql>drop database 数据库名;

mysql>drop table 表名;

6.删除账户及权限

drop user 用户名@'%'

drop user 用户名@localhost

MySQL 赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@'%'

grant insert on testdb.* to common_user@'%'

grant update on testdb.* to common_user@'%'

grant delete on testdb.* to common_user@'%'

或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to common_user@'%'

二、创建表、索引、视图、存储过程、函数等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to developer@'192.168.0.%';

grant alter on testdb.* to developer@'192.168.0.%';

grant drop on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 外键权限。

grant references on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 索引权限。

grant index on testdb.* to developer@'192.168.0.%';

grant 操作 给予任意登录权限。

grant all privileges on *.* to 'root2'@'%' identified by 'password';
flush privileges;
本文最后更新于2022-3-1,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《MySQL新建用户并给予权限》
文章链接: https://www.sgtms.com/shorthand/47.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
分享到:

相关推荐

网友评论1

路人甲 表情
Ctrl+Enter快速提交
  1. #1

    铁路局

    太可怜了 2年前 (2022-03-03) 回复