1. 程式人生 > >解決mysql本地連線到遠端資料庫失敗

解決mysql本地連線到遠端資料庫失敗

本地操作遠端資料庫時 Host ‘XXXX’ is not allowed to connect to this MySQL server

情景:使用navicat開啟遠端資料庫,方便直接對遠端資料庫的操作

  • 使用navicat連線遠端伺服器資料庫提示無法正常連線
  • 這裡寫圖片描述
  • 原因: 本地mysql未授權導致
  • 解決
  • 1.在cmd中輸入mysql -u root -p123(無密碼直接-p),然後回車,輸入密碼後回車進入mysql命令列
  • 2.選擇mysql自帶庫: use mysql
  • 3.檢視使用者名稱,預設只有root和mysql.sys
    這裡寫圖片描述
  • 目的:建立與遠端資料庫管理員名字和密碼相同的使用者及分配遠端伺服器ip
  • 4.1由於我之前搗鼓建立過了直接修改ip地址update user set host=’遠端伺服器ip’ where user=’遠端資料庫使用者名稱’ ;
  • 4.2或者建立新使用者grant all privileges on *.* to user75@”xxx.xxx.xxx.xxx” identified by “密碼”;
  • 5.輸入flush privileges;相當於重新整理(必須要有)

  • 開啟navicat重新配置

  • 1)這裡寫圖片描述
  • 2)這裡寫圖片描述

3)不出意外連線成功這裡寫圖片描述
4)本地與遠端資料庫這裡寫圖片描述

說明

步驟4.2 mysql指令詳解
grant all privileges on *.* to user75@”xxx.xxx.xxx.xxx” identified by “密碼”;

all privileges : 所有的許可權 可以精分為 select,insert (只分配查詢,插入許可權)
on *.* : 第一個*代表全體資料庫 可以修改為具體的資料庫如my_db.*代表可以操控my_db下所有表
to user75@”xxx.xxx.xxx.xxx” identified by “密碼”; : 新增的使用者名稱 分配的IP 及密碼 就不說了

    -