• mysql——账户管理——新建用户和删除用户


    dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

    • .:授予该数据库服务器所有数据库的权限。
    • dbName.*:授予dbName数据库所有表的权限。
    • dbName.dbTable:授予数据库dbName中dbTable表的权限。

    username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

    • localhost:只允许该用户在本地登录,不能远程登录。
    • %:允许在除本机之外的任何一台机器远程登录。
    • 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

    password指定该用户登录时的面。

    flush privileges表示刷新权限变更。

    ===============================================================================

    新建普通用户——3种方法

    mysql数据库下面的user表,存放各种用户和权限信息。

    一、用create   user语句来新建普通用户

    使用create   user语句来创建新用户时,必须要拥有create  user权限。

    语法格式: create  user  user  [ identified  by  [ PASSWORD ] 'password' ] , user  [ identified  by  [ PASSWORD ] 'password' ]……

    user:表示新建用户的账户,user由用户名(user)和主机名(host)构成;

    identified  by:关键字用来设置用户的密码;

    password:表示用户的密码;如果密码是一个普通的字符串,就不需要用PASSWORD关键字。

    注意:create  user语句可以同时创建多个用户,新用户可以没有初始密码。

    create user 'sww'@'localhost' identified by '123456';      /*创建一个用户*/
    
    select * from user;
    
    mysql -h localhost -P 3306 -u sww -p123456       /*DOS窗口中登录查看*/
    
    drop user 'sww'@'localhost';            /*删除这个新建的用户*/
    
    select * from user;

    新建用户:

    查询user表:

    DOS窗口登录查看,是否创建正确:

    删除新建的用户:

     

    查询删除后的user表:

    ======================================================================================

    ======================================================================================

    二、insert语句来新建用户

    使用insert语句直接将用户信息添加到mysql.user表中。但是必须拥有对mysql.user表的insert权限。

    语法格式:  insert   into  mysql.user ( host,user,password )  values ( 'hostname','username',PASSWOR('password') );

    其中,PASSWORD()函数时用来给密码加密的。因为只设置了3个字段的值,那么其它字段的取值为其默认值。

    如果这3个字段以外的某个字段没有默认值,这个语句将不能执行。需要将没有默认值的字段也设置值。

    通常ssl_cipher,x509_issuer,x509_subject这3个字段没有默认值。因此必须为这3个字段设置初始值。

    此时insert语句的格式如下:

    insert into mysql.user( Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values ('hostname','username',PASSWORD('password'),'','','');

    注意:mysql数据库下的user表中,ssl_cipher,x509_issuer,x509_subject这3个字段没有默认值。

              因此向user表中插入新记录时,一定要设置这3个字段的值,否则insert语句将不能执行。

              而且,password字段一定要使用PASSWORD()函数将其加密。

    insert into mysql.user( Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values ('127.0.0.1','yuan',PASSWORD('123'),'','','')
    
    flush privileges;           /*这个命令让mysql数据库中的user表,重新装载权限*/
    
    select * from user;
    
    drop user 'yuan'@'127.0.0.1';
    
    mysql -h 127.0.0.1 -P 3306 -u yuan -p123
    
    select * from user;

    查询user表:

    新建用户:

    查询user表:

    DOS窗口登录:

    删除新建用户:

    查看user表;

    ===============================================================

    ===============================================================

    三、grant语句来新建普通用户

    使用grant语句来创建新的用户。在创建用户时,可以为其用户授权。但是必须拥有grant权限。

    这里只演示新建用户方法。

    语法格式: 

                      grant   priv_type  on  database.table

                      to   user   [ identified  by  [ PASSWORD ] 'password' ] 

                      [, user  [ identified  by  [ PASSWORD ] 'password' ]……

    priv_type:表示新用户的权限;

    database.table:表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

    user:表示新建用户的账户,user由用户名(user)和主机名(host)构成;

    identified  by:关键字用来设置用户的密码;

    password:表示用户的密码;如果密码是一个普通的字符串,就不需要用PASSWORD关键字。

    注意:PS:这里grant语句只是其中创建新用户的部分的参数,其它详细的后面介绍。

    grant select on *.* to 'test5'@'localhost' identified by 'test5';
    
    select * from user;
    
    mysql -h localhost -P 3306 -u test5 -ptest5
    
    drop user 'test5'@'localhost';
    
    select * from user;

    查看用户表:

    新建用户:

    查询新建用户之后的用户表:

    DOS窗口登录验证:

    删除新建用户:

    再次查询用户表:

    ==============================================================

    ==============================================================

    删除普通用户

    方法一:使用drop  user语句来删除普通用户

    使用drop  user语句来删除普通用户时,必须拥有drop   user权限。

    语法格式:  drop   user   user [ ,user ]……

    user:是需要删除的用户,由用户的用户名(user)和主机名(host)组成;

    可以同时删除多个用户,之间用逗号隔开;

    示例:  drop user 'test5'@'localhost';

    -----------------------------------------------------------------------------------------------------------------------------

    方法二:用delete语句来删除普通用户

    可以使用delete语句直接将用户的信息从mysql.user表中删除。但是必须拥有对mysql.user表的delete权限。

    语法格式:   delete  from  mysql.user   where  Host = 'hostname'  and  User = 'username';

                         然后执行 : flush privileges;                        让命令生效

    Host和User都是mysql.user表的主键,因此两个字段的值才能唯一确定一条记录;

    grant select on *.* to 'test5'@'localhost' identified by 'test5';
    
    select * from user;
    
    mysql -h localhost -P 3306 -u test5 -ptest5
    
                                                           /* drop user 'test5'@'localhost'; */
    
    delete  from  mysql.user   where  Host = 'localhost'  and  User = 'test5';   /*效果一样*/

    flush privileges; /*让命令生效*/ /*执行该命令,可以从mysql数据库中的user表中的数据重新加载权限*/
    select * from user;
  • 相关阅读:
    grid layout
    flex box布局
    box-shadow
    text-shadow
    border-radius
    manjaro conky配置
    博客园样式设置
    python排序参数key以及lambda函数
    python-批量解压zip、rar文件
    Python
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12099137.html
Copyright © 2020-2023  润新知