問題說明:
- 在8.0以前楞黄,我們習(xí)慣使用以下命令授權(quán)遠(yuǎn)程連接操作:
grant all privileges on *.* to 'root'@'%';
- 但在8.0以后翠储,使用以上命令會(huì)報(bào)錯(cuò):
ERROR 1410 (42000): You are not allowed to create a user with GRANT
分析原因:
因?yàn)樵?.0以后筐乳,這個(gè)特性已被移除,官方文檔如下:
原文:Using GRANT to modify account properties other than privilege assignments. This includes
authentication, SSL, and resource-limit properties. Instead, establish such properties at account-creation
time with CREATE USER or modify them afterward with ALTER USER.
譯文:使用grant修改賬戶權(quán)限分配以外的賬戶屬性野宜。包括認(rèn)證,SSL魔策,和資源限制配置等匈子。取而代之的是創(chuàng)建用戶create user或者創(chuàng)建后修改alter user的方式。
解決方案:
- 使用以下命令可以成功代乃,但無法遠(yuǎn)程登陸:
grant all on *.* to 'root'@'localhost';
- 此時(shí)旬牲,可以使用以下2種方式仿粹,實(shí)現(xiàn)遠(yuǎn)程:
-- 1. 使用update user
update user set host='%' where user ='root';
-- 2. 使用create user
create user 'userName'@'%' identified by 'your_password';