mysql 常用权限_MySQL常用权限操作

MySQL常用权限操作

5.7版本操作

添加用户:

//允许指定ip连接CREATE USER 'username'@'host' IDENTIFIED BY 'password';create user '新用户名'@'localhost' identified by '密码';// 不限制 IP(用通配符%表示)create user '新用户名'@'%' identified by '密码';CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456';CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456';CREATE USER 'javacui'@'%' IDENTIFIED BY '123456';CREATE USER 'javacui'@'%' IDENTIFIED BY '';CREATE USER 'javacui'@'%';

授权

// 基本格式如下grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码';// 允许访问所有数据库下的所有表grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码';// 指定数据库下的指定表grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

设置用户操作权限

// 设置用户拥有所有权限也就是管理员grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;// 查询权限grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;// 设置用户拥有查询插入的权限 (其它操作权限说明,select查询 insert插入 delete删除 update修改)

grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;// 去掉查询权限REVOKE select ON what FROM '新用户名';

之前版本:

注:除了新建用户INSERT 和更新密码其他命令可以用(因为 user 表的 password 字段变成authentication_string)

常用:更新密码

(SQL命令控制台执行)

UPDATE userSET PASSWORD=PASSWORD('123456') WHERE USER='ROOT' AND HOST='%';

或者(SQL命令控制台执行)

SET PASSWORD FOR root@localhost= PASSWORD('123456');

当前用户简单

SET PASSWORD = PASSWORD("newpassword");

或者(下面这个shell中执行,输入原密码和新密码)

mysqladmin -u root -p old_password password new_password

常用:赋予权限

GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

注:'root' @'%',root为你要修改的SQL用户名,%为ip,%表示权限开发所有IP都可访问,如果有具体的IP,改成IP地址即可。

** 修改完密码后记得刷新权限 **

FLUSH PRIVILEGES;

1.新建用户

mysql -u root -p

Enter password:

输入密码登录。

创建用户:

mysql> INSERT INTO mysql.user(Host, User, Password) VALUES ("localhost", "test", PASSWORD("123456"))

这样就创建了一个名为:test 密码为:123456的用户。

注意:此 localhost 指该用户只能在本地登录,不能远程登录。如果想远程登录的话,将 localhost 改为 %,表示不限制 ip。也可指定 某机器 / ip 可以远程登录。

然后登录试试:

mysql>exit;

$mysql -u test -p

Enter password:

2. 为用户授权

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

(1) 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

mysql -u root -p

(2) 首先为用户创建一个数据库(testDB):

mysql>CREATE DATABASE test_db;

(3) 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

mysql> GRANT ALL PRIVILEGES ON test_db.* TOtest@localhost IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES; //刷新权限

(4) 如果想指定部分权限给一用户,可以这样来写:

mysql> GRANT SELECT,UPDATE ON test_db.* to test@localhost IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES; //刷新权限

(5) 授权test用户拥有所有数据库的某些权限:

mysql> GRANT SELECT,DELETE,UPDATE,CREATE,DROP ON *.* to test@"%" identified by "123456";

3. 删除用户

mysql> DELETEFROM user WHEREUser='test' ANDHost ='localhost';

mysql> FLUSH PRIVILEGES;

mysql> DROP DATABASE test_db; //删除用户的数据库

最后删除账户及权限:

mysql> DROP USER 用户名@'%';

mysql> DROP USER 用户名@localhost;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值