⏳环境:window10、CentOs7、VMware15.5
专栏:环境篇(linux系统上hive连接win10上的mysql)
选自:大数据开发
Mysql 8.0开放授权出错
- 1.报错:ERROR 1064 (42000)
- 1.1 问题描述:
- 1.2 说明
- 1.3 解决办法
- 2.ERROR 1396 (HY000): Operation CREATE USER failed for ‘root’@’%’
- 2.1 问题说明
- 2.2 说明
- 2.3 解决方法
8.0开放授权出错)
1.报错:ERROR 1064 (42000)
1.1 问题描述:
今天在执行授权语句的时候,报错: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、
1.2 说明
意识到版本问题后就百度mysql-8授权语句的语法,终于解决问题。在Mysql 8版本中,不能使用上述授权语句;
1.3 解决办法
对于授权语句来设置用户权限,必须分两步来实现用户权限【1、先创建用户;2、对该用户分配权限;3、最后,刷新权限】
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;
2.ERROR 1396 (HY000): Operation CREATE USER failed for ‘root’@‘%’
2.1 问题说明
在执行下面语句可能会报错:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';
2.2 说明
这是因为,之前可能创建过该用户,再次创建会重复;
2.3 解决方法
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)