本地cmd連接遠程mysql數據庫


一、登錄遠程mysql

輸入mysql -h要遠程的IP地址 -u設置的MySQL用戶名 -p登錄用戶密碼

例如:mysql -h 192.168.1.139 -u root -p dorlocaldata

如果不能實現,把MySQL安裝目錄下的MySQL Server 5.7下面的bin文件夾里的mysql.exe復制到c盤Windows下。)出現ERROR 1045 (28000): Access denied for user '用戶名'@'操作的IP地址' (using password: YES)可能是密碼不對的原因。
連接不上可能出現的原因,(

1)未開啟用戶名權限。這時應該在遠程服務器,使用root登錄(mysql -uroot -p),輸入grant all privileges on *.* to'用戶名'@'ip地址' identified by'密碼',(分配新用戶的權限),然后進行刷新權限flush privileges;  然后重新啟動mysql服務

(2)遠程服務器防火牆阻擋遠程連接數據庫,關閉防火牆或者點開windows防火牆,允許程序或功能通過window防火牆中的MySQL進行勾選(可能可允許的程序中沒有MySQL這個選項)。
例子
mysql -uhello -pworld -h192.168.1.88 -P3306 -Dmysql_oa
mysql -u用戶名 -p密碼 -h遠程數據庫IP地址 -P端口 -D數據庫名
 

二、異常處理

1.MySQL--is blocked because of many connection errors解決方案

原因:

  同一個ip在短時間內產生太多(超過mysql數據庫max_connection_errors的最大值)中斷的數據庫連接而導致的阻塞;

解決方法:

1、提高允許的max_connection_errors數量(治標不治本):

  ① 進入Mysql數據庫查看max_connection_errors: show variables like '%max_connect_errors%';

    ② 修改max_connection_errors的數量為1000: set global max_connect_errors = 1000;

  ③ 查看是否修改成功:show variables like '%max_connect_errors%';

2、使用mysqladmin flush-hosts 命令清理一下hosts文件(不知道mysqladmin在哪個目錄下可以使用命令查找:whereis mysqladmin);

  ① 在查找到的目錄下使用命令修改:/usr/bin/mysqladmin flush-hosts -h192.168.1.1 -P3308 -uroot -prootpwd;

  備注:

    其中端口號,用戶名,密碼都可以根據需要來添加和修改;

    配置有master/slave主從數據庫的要把主庫和從庫都修改一遍的(我就吃了這個虧明明很容易的幾條命令結果折騰了大半天);

    第二步也可以在數據庫中進行,命令如下:flush hosts;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM