MySQL用户操作

查看用户信息

1
2
3
4
5
show databases;  -- 显示所有的database
use mysql; -- 进入mysql这个database
show tables; -- 显示mysql的所有table
desc user; -- 显示user表结构
select User,Host,authentication_string from user; -- 查看用户信息

用户操作

创建用户

  • 基本语法

    1
    CREATE USER  'user_name'@'host'  IDENTIFIED BY  'password';
  • 举例

    1
    2
    3
    4
    5
    6
    7
    8
    # 指定ip的用户创建
    create user 'user1'@'localhost' identified by '123456';
    # 指定ip区段的192.118.1.开头的用户创建
    create user 'user2'@'192.118.1.%' identified by '123';
    # 不指定ip的用户创建
    create user 'user3'@'%' identified by '123';
    # 不设置密码
    create user 'user3'@'%' ;

授权用户

  • 基本语法

    1
    2
    3
    4
    5
    6
    1. 查看权限
    show grants for 'user_name'@'host';
    2. 授权语法
    grant privileges on databasename.tablename to 'username'@'host';
    3. 取消语法
    revoke privileges on databasename.tablename from 'user_name'@"host";
    • priviliges表示的是授予用户的权力,有select,insert,delete,update等,也可以用all privileges
  • 举例

    1
    2
    3
    grant select,insert ON mydb.table1 to 'user1'@'%';	-- 给user1在所有ip的情况下授予mydb数据库中table1表的select、insert权限
    grant all on *.* to 'user2'@'localhost'; -- 给user2在本地上授予所有数据库的所有表的所有权限
    revoke all on mydb.table from 'user1'@"localhost";

修改用户

1
2
3
4
5
6
1. 删除用户
drop user 'user_name'@'host';
2. 修改用户名
rename user 'user_name'@'host' to 'new_user_name'@'host';
3. 修改密码
set password for 'user_name'@'host'=Password('psw');

实例:创建用户并授权

  1. 登录mysqlmysql -u root -p;
  2. 创建数据库create database mydb;
  3. 创建用户create user vue@'%' identified by '123456';
  4. 授权grant all privileges on mydb.* to vue;