精华内容
下载资源
问答
  • 数据库用户权限授予

    千次阅读 2020-04-24 20:22:32
    1.SQL中使用GRANT语句来授予用户的权限,用REVOKE语句来收回用户的权限。 2.授予格式: GRANT 权限列表 ON 对象类型 对象名,… TO 用户列表 with grant option//非必填语句,加上了,用户可以传递给其他用户这种权限...

    1.SQL中使用GRANT语句来授予用户的权限,用REVOKE语句来收回用户的权限。

    2.授予格式:
    GRANT 权限列表
    ON 对象类型 对象名,…
    TO 用户列表
    with grant option//非必填语句,加上了,用户可以传递给其他用户这种权限
    注:发出授权语句的用户可以是数据库管理员,也可以是对象的创建者,被授权的对象,不允许出现授权循环现象。

    3.权限的种类:
    3.1全部的权限:ALL PREVILEGES
    查询:select
    修改:update
    删除:delete

    展开全文
  • mysql授予用户新建数据库权限

    千次阅读 2020-04-13 17:20:18
    好久不用mysql了,今天拾起来,新建用户,用Navicat连接之后,发现没有新建数据库权限。找了好久才找到方法,那就是新建用户之后授权的的时候授予用户在所有数据库上的所有权限,(当然有可能有别的方法,希望知道...

    好久不用mysql了,今天拾起来,新建用户,用Navicat连接之后,发现没有新建数据库的权限。找了好久才找到方法,那就是新建用户之后授权的的时候授予用户在所有数据库上的所有权限,(当然有可能有别的方法,希望知道的前辈们指导我)语句如下:

    #后面的密码123456demo用户的密码,不是root用户的密码,如果有同名的用户,会修改demo用户的密码

    grant all privileges on *.* to demo@localhost identified by '123456';  
    #后面的密码123456是demo用户的密码,不是root用户的密码,如果有同名的用户,会修改demo用户的密码

    下面附送亲测有效的新建用户,新建数据库,用户授权,删除用户,修改密码的打包套餐:

    1.新建用户
      1.1 登录MYSQL:

     C:\mysql\mysql-5.6.41-winx64\bin>mysql -u root -p
        Enter password: **********

    1.2 创建用户:  

    mysql> insert into mysql.user(Host,User,Password) values("localhost","demo",password("1234"));
    
      这样就创建了一个名为:demo 密码为:1234 的用户。

      注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

    IT视频资源分享列表IT视频资源分享列表,分享是一种积极的生活态度!!!https://mp.weixin.qq.com/s/HqeXW1T_Ftx7CI1wvMTPfQ

      1.3 然后登录一下:

      mysql>exit;
    
      C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
        Enter password: **********

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

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

     C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
        Enter password: **********

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

    mysql>create database demoDB;

      2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):慎重:后面的密码是demo用户的密码,不是root用户的

       mysql>grant all privileges on demoDB.* to demo@localhost identified by '1234';
    
       mysql>flush privileges;//刷新系统权限表

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

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

    mysql>grant select,update on demoDB.* to demo@localhost identified by '1234';
    
      mysql>flush privileges; //刷新系统权限表

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

    mysql>grant select,delete,update,create,drop on *.* to demo@"%" identified by "1234";
    
    

         //test用户对所有数据库都有select,delete,update,create,drop 权限。

      //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

     //对localhost授权:加上一句

    grant all privileges on demoDB.* to demo@localhost identified by '1234';

    即可。 

    3. 删除用户
        

      C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
        Enter password: **********
       mysql>Delete FROM user Where User='demo' and Host='localhost';
       mysql>flush privileges;
       mysql>drop database demoDB; //删除用户的数据库
    删除账户及权限:>drop user 用户名@'%';
            >drop user 用户名@ localhost; 

    4. 修改指定用户密码
       

     C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
          Enter password: **********
        mysql>update mysql.user set password=password('新密码') where User="demo" and Host="localhost";
        mysql>flush privileges;


    5. 列出所有数据库
      mysql>show database; 

    6. 切换数据库
      mysql>use '数据库名';

    7. 列出所有表
      mysql>show tables;
     
    8. 显示数据表结构
      mysql>describe 表名;

    9. 删除数据库和数据表
      mysql>drop database 数据库名;
      mysql>drop table 数据表名;
     

    展开全文
  • 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利 1 2 3 4 grant select on testdb.* t

    MySQL 赋予用户权限命令的简单格式可概括为:


    1
    grant 权限 on 数据库对象 to 用户

    一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利


    1
    2
    3
    4
    grant select on testdb.* to common_user@ '%'
    grant insert on testdb.* to common_user@ '%'
    grant update on testdb.* to common_user@ '%'
    grant delete on testdb.* to common_user@ '%'

    或者,用一条 MySQL 命令来替代:


    1
    grant select , insert , update , delete on testdb.* to common_user@ '%'

    二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数等权限

    grant 创建、修改、删除 MySQL 数据表结构权限。

    1
    2
    3
    grant create on testdb.* to developer@ '192.168.0.%' ;
    grant alter on testdb.* to developer@ '192.168.0.%' ;
    grant drop on testdb.* to developer@ '192.168.0.%' ;

    grant 操作 MySQL 外键权限:


    1
    grant references on testdb.* to developer@ '192.168.0.%' ;

    grant 操作 MySQL 临时表权限:


    1
    grant create temporary tables on testdb.* to developer@ '192.168.0.%' ;

    grant 操作 MySQL 索引权限:


    1
    grant index on testdb.* to developer@ '192.168.0.%' ;

    grant 操作 MySQL 视图、查看视图源代码权限:


    1
    2
    grant create view on testdb.* to developer@ '192.168.0.%' ;
    grant show view on testdb.* to developer@ '192.168.0.%' ;

    grant 操作 MySQL 存储过程、函数权限:


    1
    2
    3
    grant create routine on testdb.* to developer@ '192.168.0.%' ; -- now, can show procedure status
    grant alter routine on testdb.* to developer@ '192.168.0.%' ; -- now, you can drop a procedure
    grant execute on testdb.* to developer@ '192.168.0.%' ;

    三、grant 普通 DBA 管理某个 MySQL 数据库的权限

    ?
    1
    grant all privileges on testdb to dba@ 'localhost'

    其中,关键字 “privileges” 可以省略。

    四、grant 高级 DBA 管理 MySQL 中所有数据库的权限

    1
    grant all on *.* to dba@ 'localhost'

    五、MySQL grant 权限,分别可以作用在多个层次上

    1. grant 作用在整个 MySQL 服务器上:


    1
    2
    grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
    grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库

    2. grant 作用在单个数据库上:

    1
    grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。

    3. grant 作用在单个数据表上:

    1
    grant select , insert , update , delete on testdb.orders to dba@localhost;

    这里在给一个用户授权多张表时,可以多次执行以上语句。例如:


    1
    2
    grant select (user_id,username) on smp.users to mo_user@ '%' identified by '123345' ;
    grant select on smp.mo_sms to mo_user@ '%' identified by '123345' ;

    4. grant 作用在表中的列上:


    1
    grant select (id, se, rank) on testdb.apache_log to dba@localhost;

    5. grant 作用在存储过程、函数上:


    1
    2
    grant execute on procedure testdb.pr_add to 'dba' @ 'localhost'
    grant execute on function testdb.fn_add to 'dba' @ 'localhost'

    六、查看 MySQL 用户权限

    查看当前用户(自己)权限:


    1
    show grants;

    查看其他 MySQL 用户权限:


    1
    show grants for dba@localhost;

    七、撤销已经赋予给 MySQL 用户权限的权限。

    revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:


    1
    2
    grant all on *.* to dba@localhost;
    revoke all on *.* from dba@localhost;

    八、MySQL grant、revoke 用户权限注意事项

    1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

    2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“


    1
    grant select on testdb.* to dba@localhost with grant option ;

    这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

    补充:
    mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。

    授权表的内容有如下用途:

    user表

    user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。

    db表
    db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。

    host表
    host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。

    tables_priv表
    tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。

    columns_priv表
    columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

    展开全文
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示,如 *.* 例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; GRANT ALL ON *.* TO 'pig'@'%'; GRANT ALL ON ...

    一. 创建用户

    命令:

    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:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所的权限则使用ALL
    • databasename:数据库名
    • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

    例子:

    GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
    GRANT ALL ON *.* TO 'pig'@'%';
    GRANT ALL ON maindataplus.* 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';
    

    转载https://www.cnblogs.com/sos-blue/p/6852945.html

    展开全文
  • 2. 授予增删改查权限 grant select,delete,insert,update on 数据库.* to 用户名@'127.0.0.1'; on 数据库.* 的意思是指定数据库下所有的表 to 用户名的意思是 指定那个用户访问 用户名@后的IP地址指
  • oracle数据库01-连接&用户&权限

    千次阅读 2014-12-07 19:02:13
    Oracle数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库管理系统。  Oracle数据库涉及银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等,Oracle的...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织...
  • 数据库 实验八 数据库角色和权限

    千次阅读 2019-09-21 15:56:47
    数据库角色和权限 答案链接链接 2 通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server的数据库角色病能够进行角色的定义,理解SQL Server的数据库权限,能够分配权限 二...
  • 数据库管理之用户权限管理

    千次阅读 2020-06-01 12:34:05
    用户权限管理本地环境理论基础一、权限分类:二、系统权限管理:三、实体权限管理权限管理操作一、创建新用户并授权二、连接新用户并载入数据三、查询系统权限 本地环境 windows10-64位 Oracle12c SQL Developer ...
  • web服务器连接数据库常用权限管理

    千次阅读 2018-01-09 16:43:45
    mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to 用户 一、普通数据用户,查询、插入、更新、删除 数据库中所有...
  • 在MySQL中,如何给用户授予权限

    千次阅读 2019-09-03 23:18:56
    MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。...
  • mysql授予用户权限

    万次阅读 2017-10-25 15:44:19
    mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:  grant 权限 on 数据库对象 to 用户  一、grant 普通数据用户,查询、插入、更新、...
  • 10、pymysql 连接数据库报错:connect database failed, (1045, "Access denied for user 'user1'@'192.168.31.124' (using passwor 只要重新去改一下user1的密码:set password for "user1"@'localhost' = ...
  • 数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
  • 对ORACLE数据库系统的用户权限管理有感性认识。 实验内容 理论学习:Oracle 权限设置 权限分类: 1. 系统权限: 系统规定用户使用数据库权限。(系统权限是对用户而言)。 2. 实体权限: 某种权限用户对其它用户的...
  • 达梦数据库管道连接超时 备份作业选择基于备份集备份数据库的情况下...重新将权限授予普通用户 chown -R dmdba.dminstall /dm8 //授权 - r 用户.用户组 数据库 再用普通用户启动DM控制台工具备份,发现成功。 ...
  • mysql数据库_创建用户及授予权限_查看用户、修改密码 一、创建用户 在控制台输入命令: mysql -u root -p 回车进入mysql的控制台。 输入账号密码尽心登陆,然后 创建用户命令: CREATE USER 'username'@'%' ...
  • 达梦数据库权限管理简单知识点

    千次阅读 2020-08-17 20:15:15
    达梦数据库权限管理简单知识点 #1. 数据库对象:为了管理和维护数据库系统而设定一系列的逻辑概念;常见的数据库对象有: 表 视图 索引 存储过程 函数 触发器 同义词 序列 表空间 用户 模式 角色等等 2.权限分类 系统...
  • Postgre数据库用户权限总结

    千次阅读 2020-06-26 20:32:46
    我们的项目使用了PG数据库,在项目开发阶段,为了省事偷懒,直接将应用连接数据库的用户给了supperuser权限,用起来简直不要太爽。随着开发进度接近中后期,开始筹建用户验收环境,在该环境我依旧直接给了超级用户...
  • 数据库实验四 用户权限管理

    千次阅读 2019-05-22 16:08:13
    说明:如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的相同权限,也就是说取消授权时是级联的。 正式操作: 以 SYSTEM 身份连接到 ...
  • 一、系统默认登录 普通用户: conn scott/密码 普通管理员: conn system/...超级管理员: conn sys as sysdba;... 二、创建新用户 ... 三、赋予新用户权限 1、允许用户登录 ...2、允许新用户连接数据库,并创建数据库对象 gr...
  • MySQL 数据库赋予用户权限操作表

    千次阅读 2018-10-11 10:17:46
    MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户  一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。  1 grant select on testdb.* to common_...
  • MySQL数据库权限管理

    千次阅读 2018-07-25 17:40:20
    前言 学习mysql数据库,对于它的权限的管理是关键...MySQL数据库实际上是通过将用户写入mysql库中对应的权限表来控制访问权限的。 权限表分别为: user,db,table_priv,columns_priv和host。 user:记...
  • mysql数据库用户及用户权限管理

    万次阅读 多人点赞 2018-10-09 21:37:06
    1、mysql数据库权限 (1)mysql数据库用户权限级别  1)全局性管理权限:作用于整个mysql实例级别  2)数据库级别:作用于指定的某个数据库上或者所有数据库上  3)数据库对象级别权限:作用于指定的数据库...
  • 设置数据库用户权限失败

    千次阅读 2017-12-09 21:13:20
    当我们对数据库进行权限设置时,会出现如下错误: 1558 - Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50018, now running 50146. Please use mysql_upgrade to fix ...
  • 一、打开SecureCRT5.1,连接到虚拟机服务器192.168.234.181 用户名/口令 root/123456 1.从root用户切换到oracle用户 [root@oradb ~]# su - oracle 2.用sysdba用户登陆sqlplus [oracle@oradb ~]$ ...
  • 用户的权限:指的是一个数据库用户可以对数据进行操作的能力,最简单的例子是:能飞对表进行增删改查等操作。 调用的数据库:MySQL中的User表格。 本质:对MySQL.User进行增删改查。 (1)查看数据库中的用户数据 use ...
  • 数据库用户权限管理与测试

    千次阅读 2017-08-26 16:24:49
    课程编写 ...掌握数据库中的权限管理思想,并会创建用户权限管理中的各种对象。 实验环境 VPC1(虚拟PC) Windows XP 系统 VPC1 连接要求 与实验网络直连
  • mysql授予远程连接权限

    千次阅读 2017-07-10 09:53:19
    缺省状态下,mysql的用户没有远程访问的权限。 下面介绍两种方法,解决这一问题。 1、改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,231
精华内容 17,692
关键字:

数据库授予连接权限