最近在学习数据库的 主从复制 里面涉及到了关于用户及其管理权限的赋予,之前一直没有认真的学习这个。

现在想具体的学习一下。

--

为什么 数据库 要实现多用户管理?

举个最简单的例子,你需要和第三方做对接,建立了一个中间库,你不能让对方去操作所有的库吧,

MySQL 默认 root 用户,但是这个用户权限太大,一般只在管理数据库时候才用。

--

如何新建和删除用户?

新建一个用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  
  user_name:要创建用户的名字。
  host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
  password:新创建用户的登陆数据库密码,如果没密码可以不写。

这时虽然建立了新用户,但是并未分配给这个用户相对应的权限。所以直接使用这个账号登录的话报错。

删除一个用户
DROP USER username@localhost; 

--

那如何给用户授予我们的权限呢?

GRANT privileges ON databasename.tablename TO 'username'@'host';
  
  privileges:表示要授予什么权力,例如可以有 select, insert,delete,update等,如果要授予全部权力,则填 ALL
  databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
  'username'@'host':表示授权给哪个用户。

如何撤销我们的权限呢?

REVOKE privileges ON database.tablename FROM 'username'@'host';
例如:REVOKE SELECT ON *.* FROM 'zje'@'%';

--

修改密码呢?

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

--

具体的权限都可以在 mysql.user里面看到。之后学习到这个其他方面的在回来补充。

--

参考:

  MYSQL的创建用户,授权用户,删除用户,查看用户

学习计划 mysql 用户管理与权限的更多相关文章

  1. MySQL 用户管理与权限管理

    MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variabl ...

  2. Mysql用户管理及权限分配

    早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...

  3. MySQL用户管理及权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql ...

  4. centos7下mysql 用户管理和权限设置

    1.进入mysql命令行,输入root及密码[root@localhost ~]# mysql -u root -pEnter password: Welcome to the MySQL monit ...

  5. mysql 用户管理和权限设置

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  6. MySQL用户管理和权限设置

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  7. MySQL 用户管理及权限管理

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  8. MySQL用户管理及权限管理

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  9. linux —— 学习笔记(用户管理与权限控制)

    目录:1.用户的创建和管理    2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...

随机推荐

  1. Splash 对象属性

    args js_enabled resource_timeout images_enabled plugins_enabled scroll_position

  2. Linux 上安装oracle客户端

    1. 下载安装包 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-instantclient11 ...

  3. mybatis 之resultType="Map"

    Map map = new HashMap(); map.put("productTypeID", productTypeId); List<HashMap> prod ...

  4. RewriteCond和13个mod_rewrite应用举例Apache伪静态

    1.给子域名加www标记 RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\. ...

  5. JS使用中碰到的一些问题

    settimeout: 1.setTimeout(function () {//这个则会在1秒后进行弹出1 alert(1); }, 1000); 2.setTimeout(alert(1), 100 ...

  6. JWNL的配置使用

    JWNL是什么? JWNL is an API for accessing WordNet-style relational dictionaries. It also provides functi ...

  7. Oracle 12C 创建用户连接pdb

    测试环境: C:\ora12c\product\12.1.0\dbhome_1\BIN>sqlplus.exe /nolog SQL*Plus: Release 12.1.0.1.0 Produ ...

  8. H.264 White Paper学习笔记(二)帧内预测

    为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...

  9. vuex报错: [vuex] Expects string as the type, but found undefined.

    报错如图 检查了好久,发现 import * as types from '../mutation-types'const actions = { add({commit}){ commit(type ...

  10. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题

    数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题 2个解决方法: 1.临时修改:mysql>set global max_a ...