授权局域网内访问MySql数据库
在数据库操作时遇到了一些问题,所以写下来以便再次遇到时能够迅速解决。
解决报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘IDENTIFIED BY ‘123456’ WITH GRANT OPTION’ at line 1
MySql 8.0及以上的版本因为语法结构更加严谨,导致之前的语句无法在新的数据库上使用,从而出现上述错误,具体解决方法如下:
创建用户:create user ‘用户名’@’访问主机’ identified by ‘密码’;
例:create user ‘newusername’@’%’ identified by ‘newpassword’; (%代表所有远程IP,可改成需远程连接的主机IP)
用户赋权:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ ;(修改权限时在后面加with grant option)
例:grant all on . to ‘newusername’@’%’; (all代表授权所有权限,%代表所有远程IP)
刷新权限:
flush privileges;
取消授权:
revoke all on . from ‘newusername’@’%’;(all代表授权所有权限,%代表所有远程IP)