⏳环境:window10、CentOs7、VMware15.5
专栏:环境篇(linux系统上hive连接win10上的mysql)
选自:大数据开发
今天在执行授权语句的时候,报错:ERROR 1064 (42000)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'WITH GRANT OPTION;
一直提示错误:
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 ‘Tibco123’WITH GRANT OPTION’ at line 1、
意识到版本问题后就百度mysql-8授权语句的语法,终于解决问题。在Mysql 8版本中,不能使用上述授权语句;
对于授权语句来设置用户权限,必须分两步来实现用户权限【1、先创建用户;2、对该用户分配权限;3、最后,刷新权限】
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
在执行下面语句可能会报错:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';
这是因为,之前可能创建过该用户,再次创建会重复;
mysql> drop user 'root'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
此时,重新创建就可以成功了。
参考资料:
1. ERROR 1064 (42000)
2. ERROR 1396 (HY000)