MySQL用户与授权

2019-03-25 10:10|来源: 网络

本文主要内容是创建mysql用户,对用户授权,置与更改用户密码,撤销用户权限和删除删除用户。这是mysql用户的最基本操作,非常详细


一、创建用户:

      命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

      说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

      例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
           CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
           CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
           CREATE USER 'pig'@'%' IDENTIFIED BY '';
           CREATE USER 'pig'@'%';


二、授权:

     命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

     说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.

     例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
              GRANT ALL ON *.* TO 'pig'@'%';

     注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
          GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;


三、设置与更改用户密码

     命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");

     例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");


四、撤销用户权限

     命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

    说明: privilege, databasename, tablename - 同授权部分.

     例子: REVOKE SELECT ON *.* FROM 'pig'@'%';

     注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.

     具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.


五、删除用户

     命令: DROP USER 'username'@'host';


本文链接:MySQL用户与授权,出处:中国数据库

相关问答

更多

在mysql中我用一个自建的用户去创建另一个用户,创建完成后,对用户进行授权select,但是失败,为什么

select database():只能查看当前数据库 如果你使用ROOT登陆 没切换到指定的数据库下,select database()显示为NULL Type 'help;' or '\h' for help. Type '\c' to clear the current input sta mysql> select database(); +------------+ | database() | +------------+ | NULL | +------------+ 1 row i ...

mysql怎么给用户授权远程连接

root用户登录,命令行运行 grant all privileges on *.* to '用户名'@'%' identified by '登录密码';

如何给MySql创建连接用户并授权

一般在为MySql创建用户时建议使用GRANT前台命令,当然如果对我们开发者而言,方法还有很多种,比如使用INSERT命令,甚至是直接修改mysql user数据表,但仍然建议按照MySQL规范去授权账户。因为它太容易忘记,特别整理方便参考。 1、登录MySQL 输入mysql -u root和密码即可登录到Mysql。 2、选择数据库 语句如下:use mysql; 3、在mysql的user表中增加连接用户 GRANT USAGE ON *.* TO 'username'@'localhost ...

MySQL如何授权一个自己的创建的用户比如daitest创建新数据库的权利?求命令

慢慢看吧 mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 grant select on testdb.* to common_user@’%’ grant insert on testdb.* to common_user@’%’ grant update on t ...

mysql怎么创建新用户并授权

grant all privileges on *(权限数据库).*(权限表) to '(用户名)'@'(IP)'identified by '(密码)'; 创建用户并授予某个库某个表所有权限

mysql授权后用户为什么访问不了

1. 先查询你的用户创建是否正确 select user,host from mysql.user; 查看a@localhost是否存在 2. 查看授权信息 show grants for a@'localhost'; 查看你的a@localhost是否对kaoshixitong.students有select 权限

mysql新建视图怎么授权给所有用户

在查询页面用语句创建就可以。1、打开NavicatforMySQL,并登录到指定数据库。2、点击上方查询。3、点击新建查询。4、在空白处写上视图创建语句,点击左上方执行即可。

mysql怎么给其他主机用户授权

1,Mysql下创建新的用户 语法: 1.create user 用户名 identified by '密码'; 例:create user xiaogang identified by '123456'; 新创建的用户,默认情况下是没有任何权限的。 2. 如何给用户分配权限 语法: 1.grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang'@'%'; 这个时候 xiaogan ...

mysql 一个账户能授权几个ip

使用以下授权语句,将授权指定的192.168.1.1 和192.168.1.2 的机器,使用用户名为root,密码为test123的用户访问 grant all privileges on *.* to 'root'@'192.168.1.1' identified by 'test123'; grant all privileges on *.* to 'root'@'192.168.1.2' identified by 'test123';