天天看点

mysql5.7 用户、数据库、权限常用操作mysql 用户、数据库、权限常用操作

mysql 用户、数据库、权限常用操作

系统信息

  • 操作系统: macOS High Sierra 10.13.6
  • mysql版本: MySQL Community Server 5.7.18

登录

  • 使用root 用户登录mysql
    • mysql -uroot -p123456

用户

  • 查看用户
    • 通过查看系统表中的user表查看
    • select t.host,t.user,t.account_locked from mysql.user t;
  • 创建用户
    • create user ‘dream_flower’@’%’ identified by ‘dream_flower’;
  • 修改用户名
    • update mysql.user set authentication_string = password(‘dream_flower’), password_expired = ‘N’, password_last_changed = now() where user = ‘dream_flower’;
  • 删除用户
    • drop user ‘dream_flower’@’%’;

数据库

  • 查看数据库
    • show databases;
  • 切换当前数据库
    • use mysql;
  • 创建数据库
    • create database dream_flower DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    • COLLATE表示校对方式
      • utf8_general_ci 不区分大小写,字符方式保存
      • utf8_general_cs 区分大小写,字符方式保存(该版本不能使用)
      • utf8_bin 区分大小,将字符串每个字符使用二进制保存,且同时可以保存二进制内容
  • 删除数据库
    • drop database dream_flower;

权限

权限级别

  • 全局层级权限
  • 数据库层级权限
  • 表层级别权限
  • 列层级别权限
  • 子程序层级权限

权限类型

mysql提供的权限类型见官方文档

授予操作

  • 查看权限
    • 权限保存在user, db, tables_priv, columns_priv, and procs_priv表中,可以通过查看对应表查看
    • 查看权限 show grants for dream_flower;
    • select * from mysql.user where user=’dream_flower’\G;
    • select * from mysql.db where use=’dream_flower’;
    • select * from mysql.tables_priv where use=’dream_flower’;
    • select * from mysql.columns_priv where use=’dream_flower’;
    • select * from mysql.procs_priv where use=’dream_flower’;
  • 授予权限
    • 格式
      • grant 权限 on 数据库.表 to ‘用户’@’授予访问IP’ identified by 密码;
  • 回收权限
    • 格式
      • revoke 权限 on 数据库.表 from ‘用户’@’授予访问IP’;

继续阅读