當在Docker中建立一個Mysql的容器後,需要使用工具如:navicate來連接容器內的MySQL服務,但
提示Access denied for user 'root'@ 'x.x.x.x' (using password: YES) 錯誤,用指令進入容器確認密碼沒有問題,那麼就可能是沒有開發遠端權限。
第一步:選取mysql資料庫
use mysql;
第二步:修改庫中user表中,user使用者的host=%(任意連線)
update user set host='%' where user ='root';
第三步驟:重新載入權限表
flush privileges;
第四步:給予root使用者遠端連線權限
grant all privileges on *.* to 'root'@'%' with grant option; # 赋予权限并修改密码 alter user 'root'@'%' identified with mysql_native_password by '123456';
1.使用mysql -u root -p 連線至本機MySQL服務
2.登入後使用use mysql;
#3.使用grant all privileges on . to ‘root’@‘%’ identified by ‘ 123456’ with grant option; 賦予遠端登入使用者權限(使用root帳號和密碼123456,從任何主機連接到mysql伺服器),刷新權限FLUSH PRIVILEGES;
4.使用select user,host from user 查看系統使用者
5.使用vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改bind-address的存取網址,將bind-address=127.0.0.1 改成bind-address=0.0.0.0
6.開放埠3306(這是MySQL的預設連接埠)
以上是MySQL怎麼開啟使用者遠端登入權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!