mysql 用户管理

    如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理
        Linux下mysql学习笔记三
        MySQL中的用户,都存储在系统数据库mysqluser表中

                mysql> select host,user,password from mysql.user;

        Linux下mysql学习笔记三

        字段解释:
            host : 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
            user : 用户名
            password : 用户密码,加密后的
            以及用户拥有的权限

    1、创建用户

            语法:    create user '用户名'@'登陆主机/ip' identified by '密码';
            示例:    mysql> create user 'arrayli'@'localhost' identified by '123456';Query OK, 0 rows affected (0.01 sec)
                         

    2、删除用户
            语法:    drop user '用户名'@'主机名'
    3、修改用户密码
            语法:
                自己改自己密码:        
mysql > set password=password('新的密码');
                root用户帮你修改:    mysql > set password for '用户名'@'主机名'=password('新的密码')

    4、mysql 数据库的权限

            Linux下mysql学习笔记三

    给用户授权
                刚创建的用户没有任何权限。需要给用户授权。
        语法
:        grant 权限列表 on .对象名 to '用户名'@'登陆位置' [identified by '密码']
        说明:
                1. 权限列表,多个权限用逗号分开
                    grant select on ...
                    grant select, delete, create on ....
                    grant all [privileges] on ... --
表示赋予该用户在该对象上的所有权限
                 2. . : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
                 3. .* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
                 4. identified by 可以省略,也可以写
                        如果用户存在,赋予权限的同时修改密码。如果该用户不存在,就是创建用户
                        示例:    mysql> show databases; -- litao账户看不到mytest
     回收权限
            语法:    revoke 权限列表 on .对象名 from '用户名'@'登陆位置'
            示例:    回收 arrayli 对数据库的所有权限
                        mysql> revoke all on mytest.DEPT from 'arrayli'@'localhost';

注意:在以上操作中,若出现错误。在只需在命令行下输入:    mysql> flush privileges; 然后重新执行操作即可。

        

相关文章:

  • 2021-09-05
  • 2021-09-05
  • 2021-09-05
  • 2021-09-05
  • 2021-09-05
  • 2021-10-07
  • 2021-09-15
  • 2020-04-06
猜你喜欢
  • 2021-04-29
  • 2021-05-09
  • 2020-01-14
  • 2021-10-18
  • 2021-11-17
  • 2021-08-12
  • 2021-06-09
相关资源
相似解决方案