[Mysql]MySQL创建数据库/用户/授权/8.0加密问题

创建数据库

create schema [数据库名称] default character set utf8 collate utf8_general_ci;
#采用create schema和create database创建数据库的效果一样。

创建用户

create user '[用户名称]'@'%' identified by '[用户密码]';
#密码8位以上,包括:大写字母、小写字母、数字
#特殊字符%:匹配所有主机,该地方还可以设置成'localhost',代表只能本地访问,例如root账户默认为'localhost'

用户授权数据库

grant select,insert,update,delete,create,alter,drop on [数据库名称].* to [用户名称];
#*代表整个数据库

立即启用修改

flush  privileges;

取消用户所有数据库(表)的所有权限

revoke all on *.* from [用户];
#or
grant all on *.* to [用户]
#以上命令执行后,只有用户在重新连接时,权限才能生效

删除用户

delete from mysql.user where user='用户名';

删除数据库

drop database [schema名称|数据库名称];

常见问题

The server requested authentication method unknown to the client
造成此问题的原因时由于在MySQL 8.*中,加密方式由原来默认的mysql_native_password升级为caching_sha2_password。

> use mysql ;#选择数据库
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  #修改密码以及加密方式
> FLUSH PRIVILEGES; #刷新           

你可能感兴趣的:([Mysql]MySQL创建数据库/用户/授权/8.0加密问题)