[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; #刷新           
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容