草庐IT

违背常识,MySQL使用Grant授权后没必要Flush Privilege

从我上大学时,数据库概论老师就告诉我,MySQL使用grant对用户授权之后,一定记得要用flushprivilege命令刷新缓存,这样才能使赋权命令生效。毕业工作以后,在很多的技术文档上,仍然可以看到这种解释。但是,grant授权之后真的必须flushprivilege吗?如果不flush,授权真的就不生效吗?本篇文章也许会颠覆你的认知。grant语句都做了哪些事grant语句一般和创建用户配合使用,比如创建一个用户之后,给这个用户授予一定的权限,当然,也可以对一个已存在的用户授权。我们以新建一个用户testuser为例:createuser'testuser'@'%'identifiedb

解决mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

1.今天刚装了mysql8.0.13,试着分配几个账号和权限,结果报错:2.查资料得知mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限输入命令:Grantallprivilegesontest.*to'test'@'%';又报错:YouarenotallowedtocreateauserwithGRANT;不允许使用grant命令,怎么会没权限,奇怪。3.后来想到了mysql数据表user中的host于是修改host:updateusersethost='%'whereuser='test';再执行两次Grantallprivilegesontest.*to'test'@

解决mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

1.今天刚装了mysql8.0.13,试着分配几个账号和权限,结果报错:2.查资料得知mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限输入命令:Grantallprivilegesontest.*to'test'@'%';又报错:YouarenotallowedtocreateauserwithGRANT;不允许使用grant命令,怎么会没权限,奇怪。3.后来想到了mysql数据表user中的host于是修改host:updateusersethost='%'whereuser='test';再执行两次Grantallprivilegesontest.*to'test'@