创建用户

查看当前用户列表

use mysql;
select host,user from user\G

创建新用户

# a 表示用户名 % 表示可远程登录 identified by 后面是密码
CREATE USER 'a'@'%' IDENTIFIED BY '1';

GRANT USAGE ON *.* TO 'b'@'%' IDENTIFIED BY '2';

再次查看当前用户列表,确认用户创建结果

删除用户

DROP USER 'a'@'%';

修改密码

UPDATE user SET authentication_string=password('3') WHERE user='b' AND Host='%';

FLUSH PRIVILEGES;

给用户分配权限

查看用户权限

SHOW GRANTS FOR 'a'@'%';

新创建的用户默认是没有权限的

GRANT USAGE ON *.* TO 'a'@'%'

分配权限

GRANT SELECT ON test.tdb_goods TO 'a'@'%';

给用户 a 分配一个操作书库局 test 中表 tdb_goods 的 select 权限

GRANT ALL ON test.tdb_goods TO 'a'@'%';

给用户 a 分配一个操作书库局 test 中表 tdb_goods 的所有权限

或者

GRANT ALL PRIVILEGES  ON test.tdb_goods TO 'a'@'%'

撤销权限

REVOKE ALL ON test.tdb_goods FROM 'a'@'%';

其他一些常用命令

1 列出所有的数据库

show databases;

2 切换数据库

ues 数据库的名字;

3 列出所有的表

show tables;

4 显示数据表结构

desc 表名;

5 删除数据库

drop databases 数据库名

6 删除数据表

drop table 数据表

7 查看mysql版本

select version();

8 查看当前的时间

select now();

9 查看当前登录的用户名

select user();

10 查看数据库的编码方式

show create database 数据库名;

11 查看错误信息

show warnings;

12 创建一个gbk格式的数据库

create database if not exists 数据库名 character set gbk;

13 修改数据库的编码方式

alter database 数据库名 character set=utf8;

14 直接查看某个库有多少张表

show tables from 数据库名;

15 直接查看当前处于哪个数据库

select database();

16 查看表的结构

show columns from 表名;

17 添加一列到某个字段的后面

alter table 表名 add 将要添加的字段 varchar(10) after 某个字段

18 添加一列到第一列

alter table 表名 add 添加的字段名 varchar(10) first

19 删除多列

alter table 表名 drop xxx,drop xxx;

20 增加一个主键列

alter table表名 add constraint 列名 primary key (id)

21 增加唯一约束列

alter table 表名 add unique (列名)

22 设置客户端的编码方式

set names gbk;

23 删除主键约束

alter table 表名 drop primary key;

24 删除唯一约束,不删除字段

alter table 表名 drop index 列名

25 查看外键约束索引

show indexes from 表名\G

转自:mysql5.7.19用户的创建和权限的操作 - CSDN