精华内容
下载资源
问答
  • mysql用户管理
    千次阅读
    2021-01-18 19:43:03

    Linux系统中,安装完成MySQL数据库以后,可以根据自己的需要,在创建新用户或者在创建用户完成以后,配置用户的权限。下面是管理用户的简单命令操作过程。

    (一)设置MySQL数据的初始化root密码

    在Linux系统下安装MySQL数据库完成以后,首先需要为root用户设置密码,可以通过如下命令:

    [root@localhost /]# mysqladmin password "111111"

    设置root用户的密码为111111。

    (二)创建新用户

    创建MySQL数据库的新用户,需要具有MySQL数据的root权限,通过root用户帐户连接MySQL数据库服务器,就可以创建新用户,并对创建的用户配置权限。

    MySQL欻功能键用户通过grant命令,在设置权限的同时直接创建一个指定的新用户。这主要操作就是,MySQL数据库中有个默认的mysql数据库,其中user表中记录的就是用户的信息。

    grant命令的格式如下:

    GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] {tbl_name | * | *.* | db_name.*} TO user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ... [REQUIRE NONE | [{SSL| X509}] [CIPHER 'cipher' [AND]] [ISSUER 'issuer' [AND]] [SUBJECT 'subject']] [WITH with_option [with_option] ...]

    object_type = TABLE | FUNCTION | PROCEDURE

    with_option = GRANT OPTION | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count

    可以在命令提示符mysql>下面输入help grant来查看更详细的说明。下面创建一个新的用户,来说明grant的用法。

    要求新用户具有通过本地(localhost)连接到数据库服务器,并执行任何数据库操作的全部权限,root用户执行如下命令:

    mysql> grant all privileges on *.* to shirdrn@localhost identified by "19830119"; 上述命令创建了用户shirdrn,密码为19830119,在user表中存储的时候是经过加密的字符串。而且,由于把所有的权限(all privileges)都赋予了shirdrn,现在shirdrn可以执行任何数据库的操作。这里,user表中Host指定了MySQL数据库服务器 所在主机(或者指定IP),可以对某个用户设置连接数据库服务器的主机字符串通配符,执行如下命令:

    mysql> grant update,delete on *.* to linda@"%" identified by "123456789";

    grant all on mydb.* to NewUserName@HostName identified by “password” ;

    grant usage on *.* to NewUserName@HostName identified by “password”;

    grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;

    grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;

    创建用户linda,密码为123456789,对任何数据库具备更新、删除权限,而且可是通过任意的主机连接数据库服务器

    (三)删除用户

    显而易见,root超级用户只需要维护MySQL数据库中的mysql数据库里面的user表就可以管理用户。如果删除用户,只需要执行操作表user的删除记录的SQL命令即可。

    全局管理权限:

    FILE: 在MySQL服务器上读写文件。

    PROCESS: 显示或杀死属于其它用户的服务线程。

    RELOAD: 重载访问控制表,刷新日志等。

    SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限:

    ALTER: 修改已存在的数据表(例如增加/删除列)和索引。

    CREATE: 建立新的数据库或数据表。

    DELETE: 删除表的记录。

    DROP: 删除数据表或数据库。

    INDEX: 建立或删除索引。

    INSERT: 增加表的记录。

    SELECT: 显示/搜索表的记录。

    UPDATE: 修改表中已存在的记录。 特别的权限:

    ALL: 允许做任何事(和root一样)。

    USAGE: 只允许登录–其它什么也不允许做。

    更多相关内容
  • 本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考,具体如下: 账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行...
  • MySQL账户管理

    千次阅读 2019-06-28 15:38:35
    账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud MySQL账户体系:根据账户所具有的权限的不同,...

    账户管理

    在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud
    MySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种
    1. 服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、连同这些库中的表
    2. 数据库级别账号:对特定数据库执行增删改查的所有操作
    3. 数据表级别账号:对特定表执行增删改查等所有操作
    4. 字段级别的权限:对某些表的特定字段进行操作
    5. 存储程序级别的账号:对存储程序进行增删改查的操作
    账户的操作主要包括创建账户、删除账户、修改密码、授权权限等
    注意:
    1. 进行账户操作时,需要使用root账户登录,这个账户拥有最高的实例级权限
    2. 通常都使用数据库级操作权限

    授予权限

    需要使用实例级账户登录后操作,以root为例
    主要操作包括:
    1. 查看所有用户
    2. 修改密码
    3. 删除用户

    1. 查看所有用户

    所有用户及权限信息存储在mysql数据库的user表中
    查看user表的结构
    desc user;
    
    主要字段说明:

    Host表示允许访问的主机
    User表示用户名
    authentication_string表示密码,为加密后的值

    查看所有用户
    select host,user,authentication_string from user;
    
    结果

    在这里插入图片描述

    创建账户、授权

    需要使用实例级账户登录后操作,以root为例
    常用权限主要包括:create、alter、drop、insert、update、delete、select
    如果分配所有权限,可以使用all privileges

    创建账户&授权

    grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码';
    
    示例1

    创建一个laowang的账号,密码为123456,只能通过本地访问, 并且只能对jing_dong数据库中的所有表进行读操作
    step1:使用root登录

    mysql -uroot -p
    回车后写密码,然后回车
    

    step2:创建账户并授予所有权限

    grant select on jing_dong.* to 'laowang'@'localhost' identified by '123456';
    

    说明

    可以操作python数据库的所有表,方式为:jing_dong.*
    访问主机通常使用 百分号% 表示此账户可以使用任何ip的主机登录访问此数据库
    访问主机可以设置成 localhost或具体的ip,表示只允许本机或特定主机访问
    查看用户有哪些权限

    show grants for laowang@localhost;
    

    step3:退出root的登录

    quit
    

    step4:使用laowang账户登录

    mysql -ulaowang -p
    回车后写密码,然后回车
    

    账户操作

    修改权限

    grant 权限名称 on 数据库 to 账户@主机 with grant option;
    

    修改密码

    使用root登录,修改mysql数据库的user表
    使用password()函数进行密码加密

    使用password()函数进行密码加密
    update user set authentication_string=password('新密码') where user='用户名';
    例:
    update user set authentication_string=password('123') where user='laowang';
    

    注意修改完成后需要刷新权限

    刷新权限:flush privileges
    

    删除账户

    语法1:使用root登录

    drop user '用户名'@'主机';
    例:
    drop user 'laowang'@'%';
    

    语法2:使用root登录,删除mysql数据库的user表中数据

    delete from user where user='用户名';
    例:
    delete from user where user='laowang';
    
    -- 操作结束之后需要刷新权限
    flush privileges
    

    推荐使用语法1删除用户, 如果使用语法1删除失败,采用语法2方式

    展开全文
  • MySQL 的权限表在数据库启动的时候就载入内存,当用户通过身份认证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了。 下面话不多说了,来一起看看详细的介绍吧 mysql 的...
  • 5. Mysql账户管理(权限)、主从配置
  • MySQL 用户管理

    千次阅读 2018-04-12 22:15:18
    MySQL用户可以分为普通用户和root用户。 root用户是超级管理员,拥有所有权限, 普通用户只拥有被授予的各种权限   用户管理包括但不限于管理用户账户、权限等。 目录 1. 权限表 2. 账户管理 登录和退出...

      MySQL是一个多用户数据库,可以为不同用户指定允许的权限。MySQL用户可以分为普通用户和root用户。

    • root用户是超级管理员,拥有所有权限,
    • 普通用户只拥有被授予的各种权限

      用户管理包括但不限于管理用户账户、权限等。

    目录

    一、权限表

      MySQL通过权限表来控制用户对数据库的访问,权限表就在默认的数据库mysql中,由mysql_install_db脚本初始化,存储账户权限信息表主要有:user、db、host、tables_priv、column_priv和procs_priv。

    user表
      user表是记录允许连接到服务器的账户信息,里面的权限是全局级别的。

    db表和host表
      db表中存储了用户对某个用户对某个数据库的操作权限,决定用户能从哪个主机存取哪个数据库。
      host表中存储了某个主机对数据库的操作权限,配合db权限表对给定主机上数据库级操作权限做更细致的控制。

    tables_priv表和colums_priv表
      tables_priv表用来对表设置操作权限,columns_priv表用来对表的某一列设置权限。

    二、账户管理

      MySQL提供许多语句来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、删除用户、密码管理和权限管理等内容。通过账户管理来保证MySQL数据库的安全性。

    1. 登录和退出MySQL服务器

      使用mysql命令并在后面指定登录主机以及用户名和密码。通过mysql-help命令可以查看mysql命令。

    mysql命令的常用参数

    参数说明
    -h主机名指定主机名或ip,如果不指定,默认是localhost
    -u用户名指定用户名
    -p密码指定登录密码。如果该参数后面有一段字段,则该段字符串将作为用户的密码直接登录。如果后面没有内容,则登录的时候会提示输入密码。注意:该参数后面的字符串和-p不能有空格
    -P端口号该参数后面接MySQL服务器的端口号,默认为3306
    数据库名可以在命令的最后指定数据库名
    -e执行sql语句如果指定了该参数,将在登录后执行-e后面的命令或sql语句并退出。

    2. 新建普通用户

      创建新用户,必须有相应地权限来执行创建操作。

    (1)使用CREATE USER 语句创建新用户

      执行CREATE USER或GRANT语句时,服务器会修改相应地用户授权表,添加或者修改用户及其权限。

    CREATE USER user_specification
        [,user_specification]...
    
    user_specification:
        user@host
        [
            IDENTIFIED BY [PASSWORD]'password'
            |IDENTIFIED WITH auth_plugin[AS'auth_string']
        ]
    
    • user:表示创建的用户的名称
    • host:表示允许登录的用户主机名称
    • IDENTIFIED BY: 表示用来设置用户的密码,该参数可选
    • password:表示用户登录时使用的普通明文密码
    • IDENTIFIED WITH: 为用户指定一个身份验证插件
    • auth_plugin:是可选的字符串参数,传递给身份验证插件,由该插件解释该参数的意义。
      IDENTIFIED BY和IDENTIFIED WITH是互斥的,所以对于一个账户只能使用一个验证方法

      CREATE USER语句会添加一个新的MySQL账户。使用CREATE语句用户,必须有全局的CREATE USER权限或MySQL数据库的INSERT权限。每添加一个用户,CREATE USER语句会在mysql.user表中添加一天新纪录,但是新创建的账户没有任何权限。如果添加的账户已经存在,CREATE USER语句会返回一个错误。

    (2)使用GRANT语句来创建新用户

      虽然CREATE USER语句可以用来创建新用户,但是所创建的新用户确没有任何权限,仍需要GRANT语句赋予用户权限。而GRANT不仅可以创建新用户,还可以在创建的同时对用户授予权限,因此,添加新用户并授权它们访问MySQL对象应首选GRANT语句。同样,使用GRANT必须有GRANT权限。

    GRANT privileges ON db.table
    TO user@host [IDENTIFIED BY 'password'][,user[IDENTIFIED BY 'password']]
    [WITH GRANT OPTION]
    
    • privileges:表示赋予用户的权限类型
    • db.table:表示用户的权限所作用的权限所作用的数据库中的表
    • IDENTIFIED BY:用来设置密码
    • password:表示用户密码
    • WITH GRANT OPTION:可选参数,表示对新建立的用户赋予GRANT权限,即该用户可以对其他用户赋予权限。

     添加或者修改用户权限之后可以对mysql.user表进行查询,注意:user表中的user和host区分大小写,在查询的时候要指定正确的用户名称或者主机名。

    (3)直接操作MySQL用户表

      其实上述的两种添加新用户的操作,实际都是在user表中添加一条新的记录。因此,可以使用INSERT语句向user表中直接插入一条记录来创建一个新的用户。使用INSERT语句,向user表中直接插入一条记录来创建一个新的用户。需要有mysql.user表的INSERT权限。

    INSERT INTO mysql.user(Host,User,Password,[privilegelist])
    VALUES('host','username',PASSWORD('password'),privilegevaluelist);
    
    • PASSWORD()函数为密码加密函数
    • privilegevaluelist为对应的权限的值,只能取 ‘Y’ 或者 ‘N’
      INSERT语句需要使用PASSWORD()函数加密密码;GRANT语句会自动将密码加密后存入user表,因此不需要PASSWORD().

      还要注意的是,新用户添加成功后还无法使用账号密码登录MySQL,需要使用FLUSH命令,因此执行FLUSH PRIVILEGES,使服务器重新加载授权表(重启也可以重新加载授权表)才能实现登录,使用FLUSH命令需要有RELOAD权限。

    FLUSH PRIVILEGES;
    

    使用GRANT则不需要使用FLUSH PRIVILEGES。

    3. 删除普通用户

      在MySQL数据库中,可以使用 DROP USER 语句删除用户,也可以直接通过DELETE从mysql.user表中删除对应的记录来删除用户。

    (1)使用 DROP USER 语句删除用户

    DROP USER user[,user];
    

      DROP USER语句用于删除一个或者多个MySQL账户。要使用DROP USER,必须拥有MySQL数据库的全局CREATE权限或者DELETE权限。使用与GRANT与REVOKE相同的格式为每个账户命名。
      DROP USER不能自动关闭任何打开的用户对话。而且如果用户有打开的对话,此时取消用户,命令则不会生效,直到用户对话被关闭后才能生效,一旦用户对话被关闭,用户也被取消,此用户再次试图登录时将会失败

    (2)使用DELETE语句删除用户

    DELETE FROM mysql.user WHERE host=‘hostname’ and user=‘username’
    

      host和user为user表中的两个字段,两个字段的组合确定所要删除的账户记录

    4. root用户修改自己的密码

     root用户拥有最高的权限,因此root用户的安全对于MySQL非常重要。修改root用户密码的方式有多种。

    (1)使用 mysqladmin 命令在命令行指定新密码

    mysqladmin -u username -h localhost -p password‘newpassword’
    
    • username:为要修改密码的用户名称,在这里指定为root
    • -h指需要修改的、对应哪个主机用户的密码,默认为localhost
    • newpassword:为新设置 的密码

    (2)修改 mysql 数据库的 user 表

      因为所有账户信息都保存在user表中,因此可以通过直接修改用户表来改变root用户的密码。root用户登录到MySQL服务器后,使用UPDATE语句修改mysql数据库的user表的password字段,从而修改用户的密码。

    UPDATE mysql.user SET password=PASSWORD('newpassword')
    WHERE user='roow'and host='localhost'
    

    执行完UPDATE语句后,也需要执行FLUSH PRIVILEGES 语句重载用户权限。

    (3)使用SET语句修改root用户的密码

      SET PASSWORD 语句重新设置其他用户的登录密码或者自己使用的账户的密码。

    SET PASSWORD=PASSWORD('newpassword')
    
    • 新密码必须使用 PASSWORD 函数加密
    • 执行成功之后需要重新加载权限表

    5. root用户修改普通用户权限

      root用户拥有很高的权限,不仅可以修改自己的密码,还可以修改其他用户的密码。

    (1)使用 SET 语句修改普通用户的密码

    SET PASSWORD FOR 'user'@'host'=PASSWORD('newpassword');
    
    • 只有root可以通过更新mysql数据库的用户来更改其他用户的密码。如果使用普通用户修改,可省略FOR子句更改自己的密码。

    (2)使用UPDATE语句修改普通用户的密码

    同root使用UPDATE修改密码,执行UPDATE要使用FLUSH PRIVILEGES语句重新加载用户权限。

    (3)使用 GRANT 语句修改普通用户密码

      在全局级别使用GRANT USAGE语句(*.*)指定某个账户的密码而不影响账户当前的权限,使用GRANT语句修改密码,必须拥有GRANT权限,一般情况下最好使用该方法来指定或修改密码

    GRANT USAGE ON \*.\* TO 'user'@'%'IDENTIFIED BY 'newpassword'
    

    使用GRANT…IDENTIFIED BY 语句,会自动加密密码,不需要使用PASSWORD函数

    6. 普通用户修改密码

      普通用户登录MySQL之后,通过SET语句设置自己的密码。

    SET PASSWORD=PASSWORD('newpassword');
    

    三、权限管理

     权限管理主要是对登录到MySQL的用户进行权限验证,所有用户的权限都存储在MySQL的权限表中,不合理的权限规划会给MySQL服务器带来安全隐患。MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的SELECT、INSERT、UPDATE和DELETE权限。

    1. MySQL的各种权限

      账户权限信息被存储在mysql数据库中。在服务启动时,将mysql数据库中的表中权限信息的内容读入内存
    GRANT 和 REVOKE语句中可以使用的权限
    续表
    不同权限下可以使用的mysqladmin命令
    不同权限下可以使用的mysqladmin命令

    2. 授权

     授权就是为某个用户授予权限。合理的授权将保证数据库的安全。
    授予的权限层级

    权限说明
    全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。
    数据库层级适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host 表中。
    表层级适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。
    列层级适用于一个给定表中的单一列。这些权限保存在 mysql.columns_priv 表中。当使用REVOKE时,必须指定与被授权列相同的列。
    子程序层级适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且CREATE ROUTINE外,这些权限可以被授予子程序层级,并存储在mysql.procs_priv

    3. 收回权限

      收回权限就是取消已经赋予用户的某些权限。MySQL中使用REVOKE语句取消用户的某些权限。使用REVOKE收回权限之后,用户账户的记录将从db、host、tables_priv 和columns_priv表中删除,但是用户账户仍然保存在user表中。

    收回用户的所有权限
    REVOKE ALL PRIVILEGES,GRANT OPTION
    FROM 'user'@'host'[,'user'@'host'...]
    

    REVOKE必须和FROM语句一起使用,FROM语句指明需要收回权限的账户

    收回指定的权限
    REVOKE priv_type[(columns)][,priv_type[(columns)]]...
    ON table1,table2,...ntablen
    FROM 'user'@'host'[,'user'@'host'...]
    
    • priv_type:表示权限类型
    • columns:表示权限作用于哪些列上,如果不指定,表示作用于整个表
    • table1,table2,…ntablen:表示从哪个表中收回权限
    • ‘user’@’host’:表示用户账户

      要使用REVOKE语句,必须拥有mysql数据库的全局CREATE USER权限或UPDATE权限。

    4. 查看权限

      SHOW GRANTS语句可以显示指定用户的权限信息。

    SHOW GRANTS FOR 'user'@'host'
    

    也可以使用SELECT语句查看user表中的各个权限以确定用户的权限信息。

    SELECT privileges_list FROM user WHERE user='username' AND host='hostname'
    
    • privileges_list 为想要查看的权限字段, 可以为select_priv、insert_priv等,根据需要选择查询的权限字段

    四、访问控制

      当MySQL允许一个用户执行各种操作时,它将首先核实该用户向MySQL服务器发送的连接请求, 然后确认用户的操作请求是否被允许。

    1. 连接核实阶段

      当连接MySQL服务器时,服务器基于用户的身份以及用户是否能通过正确的密码身份验证,来接受或拒绝连接。

    2. 请求合适阶段

      建立了连接之后,服务器进入访问控制的第二阶段。对在此连接的每个请求,服务器检查用户要执行的操作,然后检查是否有足够的权限来执行它,这也正是在授权表中的权限列发挥作用的地方。

    MySQL请求核实流程图
    MySQL请求核实流程图
     MySQL通过向下层级的顺序检查权限表(从user表到columns_priv表),但并不是所有的权限都要执行该过程。另外,如果请求的权限操作不被允许,MySQL也不会继续检查下一层级的表。

    展开全文
  • Mysql用户管理

    万次阅读 2019-03-08 15:14:14
    一、Linux下登录mysql 1、登录MySQL数据库(mysql -h...-u用户 -p密码 -P端口号(大写P) 例如:mysql -h127.0.0.1 -uroot -p123456 -P3306 PS:-p密码部分,可以直接指定密码,如果不指定,会提示输入密码。...

    一、Linux下登录mysql

    1、登录MySQL数据库(mysql -hlocalhost -uroot -p)

    mysql -hlocalhost -uroot -p

    -h数据库主机

    -u用户

    -p密码

    -P端口号(大写P)

    例如:mysql -h127.0.0.1 -uroot -p123456 -P3306

    PS:-p密码部分,可以直接指定密码,如果不指定,会提示输入密码。

    2、查看当前数据库列表--显示数据库(show databases)

    3、激活当前数据库--选择数据库(use hivgw)

    4、设置字符编码为UTF8 (set names utf8)

    5、退出mysql(quit或者exit)

     

    二、MySQL用户管理:添加用户、授权、删除用户

    1、添加用户

    以root用户登录数据库,运行以下命令:

    create user wolf identified by 'wolf';

    上面的命令创建了用户wolf,密码是wolf。在mysql.user表里可以查看到新增用户的信息:

    2、授权

    命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";(回收权限使用命令:revoke …… from ……)

    grant all privileges on private_chat.* to wolf@'%' identified by 'wolf';

    flush privileges;

    上面的语句将private_chat数据库的所有操作权限都授权给了用户wolf。

    在mysql.db表里可以查看到新增数据库权限的信息:

    也可以通过show grants命令查看权限授予执行的命令:

    show grants for 'wolf';

    授权命令说明:

    (1)privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:

    all privileges:所有权限。

    select:读取权限。

    delete:删除权限。

    update:更新权限。

    create:创建权限。

    drop:删除数据库、数据表权限。

    USAGE:没有权限。

    所有权限说明,请见文末附一。

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

    .:授予该数据库服务器所有数据库的权限。

    dbName.*:授予dbName数据库所有表的权限。

    dbName.dbTable:授予数据库dbName中dbTable表的权限。

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

    localhost:只允许该用户在本地登录,不能远程登录。

    %:允许在除本机之外的任何一台机器远程登录。

    192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

    ::1  ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

    (4)password指定该用户登录时的密码。

    (5)flush privileges表示刷新权限变更。

    设置权限时必须给出的信息:

    (1)要授予的权限

    (2)被授予访问权限的数据库或表

    (3)用户名

    grant和revoke可以在几个层次上控制访问权限:

    (1)整个服务器,使用 grant ALL  和revoke  ALL

    (2)整个数据库,使用on  database.*

    (3)特定表,使用on  database.table

    (4)特定的列

    (5)特定的存储过程

    3、修改密码

    运行以下命令可以修改用户密码

    update mysql.user set password = password('wolfnew') where user = 'wolf' and host = '%';

    flush privileges;

    4、删除用户

    运行以下命令可以删除用户:

    drop user wolf@'%';

    drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

    5、常用命令组

    创建用户并授予指定数据库全部权限:适用于Web应用创建MySQL用户

    create user wolf identified by 'wolf';

    grant all privileges on wolfDb.* to wolf@'%' identified by 'wolf';

    flush  privileges;

    创建了用户wolf,并将数据库wolfDB的所有权限授予wolf。如果要使wolf可以从本机登录,那么可以多赋予localhost权限:

    grant all privileges on wolfDb.* to wolf@'localhost' identified by 'wolf';

     

    附一:权限表

    权限

    说明

    all

     

    alter

     

    alter routine

    使用alter procedure 和drop procedure

    create

     

    create routine

    使用create  procedure

    create temporary tables

    使用create temporary table

    create  user

     

    create view

     

    delete

     

    drop

     

    execute

    使用call和存储过程

    file

    使用select into outfile  和load data infile

    grant option

    可以使用grant和revoke

    index

    可以使用create index 和drop index

    insert

     

    lock tables

    锁表

    process

    使用show full processlist

    reload

       使用flush

    replication client

    服务器位置访问

    replocation slave

    由复制从属使用

    select

     

    show databases

     

    show view

     

    shutdown

    使用mysqladmin shutdown 来关闭mysql

    super

     

    update

     

    usage

    无访问权限

     

     

    展开全文
  • MySQL账户管理和主从同步

    千次阅读 2021-01-19 08:20:06
    账户管理在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的CRUD(增删改查)MySQL账户体系:根据账户所具有的权限的不同,...
  • MySQL用户管理 【例1.1】使用root用户登录到本地mysql服务器的test库中 mysql -uroot -p -hlocalhost test 【例1.2】使用root用户登录到本地mysql服务器的test库中,执行一条查询语句 mysql -uroot -p -hlocalhost...
  • Mysql用户密码管理

    千次阅读 2021-12-16 14:42:34
    Mysql8.0以上重置密码 关闭mysql服务:systemctl stop mysqld... 选中系统库(为了访问mysql.user用户表,不要随便选别库): use mysql; 说明:8.0版本不允许在跳过策略 skip-grant-tables 时修改密码。 先清除roo..
  • mysql 用户管理和权限设置

    万次阅读 多人点赞 2019-06-12 22:01:12
    MySQL创建用户与授权 一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用...
  • 数据库设计大作业 https://blog.csdn.net/qq_21548021/article/details/110621615 在之前的版本上稍微做了点更改 Readme也包含在压缩包里了 Python所需的库也打包在里面 使用教程录了个视频 ...
  • MySQL用户管理

    千次阅读 2017-09-14 20:18:06
    MySQL服务器通过权限表来空值用户对数据库的访问,权限表存放在mysql数据库中,由mysql_install_db 脚本初始化,存储账户权限信息表主要有:user,db,host,tables_priv,columns_priv和procs_priv. user表是MySQL中最...
  • mysql用户管理

    千次阅读 2018-05-08 11:45:37
    登录mysql mysql -uroot -p 创建用户 grant ALL PRIVILEGES on *.* to olysa@"192.168.31.101" Identified by "123456&amp...
  • MySQL用户权限管理

    千次阅读 2019-06-20 22:20:36
    MySQL用户权限管理 知识要点 了解mysql的默认用户 权限的分类 用户的创建 给用户授权 废除用户权限 MySQL的认证方式 用户名 密码 登录地址 root@localhost(登录主机的地址—客户端) 密码 客户端:要通过什么...
  • MySQL数据库使用——MySQL用户管理

    千次阅读 2017-12-16 21:39:13
    文件版本说明 ...用户权限管理 赋予用户权限GRANT 显示用户权限SHOW GRANTS 回收用户权限REVOKE 保存设置FLUSH PRIVILEGES 权限限制与远程访问限制 创建对应用户文件版本说明 版本 颁布日期 修订章节
  • MySQL的安全系统很灵活,它允许以多种不同的方式创建用户和设置用户权限。 ;可以使用CREATE USER语法添加一个或多个用户,并设置相应的密码。 语法格式: CREATE USER 用户名 [IDENTIFIED BY [PASSWORD] '密码'] ...
  • mysql创建用户管理用户权限

    千次阅读 2021-01-19 03:21:50
    一、创建用户mysql>create user 'username'@'host' identified by 'password';username 创建的用户名host 指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机...
  • 不要直接使用 root 用户管理应用数据 添加用户 以root用户登录数据库,运行以下命令: create user zhangsan identified by 'zhangsan'; 上面的命令创建了用户 zhangsan, 密码是 zhangsan. 在 mysql.user 表里可以...
  • 利用 MySQL proxies_priv(模拟角色)实现类似用户管理 角色(Role)可以用来批量管理用户,同一个角色下的用户,拥有相同的权限。 MySQL5.7.X以后可以模拟角色(Role)的功能,通过mysql.proxies_priv模拟实现 1、...
  • MySQL 8.0用户和角色管理

    千次阅读 2021-01-19 10:28:44
    MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户用户过期的设置,这样方面用户管理和权限的管理,也增加了用户的...
  • 1.进入mysql命令行,...[root@localhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5.7.22 MySQL Commu...
  • mysql 数据库用户管理

    千次阅读 2021-01-28 03:17:57
    第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,...
  • MySQL创建用户、为用户授权

    千次阅读 2021-01-19 05:50:36
    一、创建用户1.root用户(管理员)登录,进入mysql数据库mysql> use mysqlDatabase changed2.创建用户1.创建用户:# 指定ip:192.168.43.144的Sroxi用户登录create user 'Srox'@'192.168.43.144' identified by '123...
  • mysql8用户管理

    千次阅读 2021-01-28 03:36:14
    查看当前登录用户:创建用户:create user '用户名'@'主机地址' identified with mysql_native_password by '密码';修改密码:alter user '用户名'@'主机地址' identified with mysql_native_password by '新密码';...
  • 修改mysql默认管理账户名称

    千次阅读 2020-09-11 16:16:39
    use mysql; update user set user='admin' where user='root';

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 613,521
精华内容 245,408
关键字:

mysql用户管理

mysql 订阅