本地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
① 在查詢到的目錄下使用命令修改:/usr/bin/mysqladmin flush-hosts -h192.168.1.1 -P3308 -uroot -prootpwd;
備註:
其中埠號,使用者名稱,密碼都可以根據需要來新增和修改;
配置有master/slave主從資料庫的要把主庫和從庫都修改一遍的(我就吃了這個虧明明很容易的幾條命令結果折騰了大半天);
第二步也可以在資料庫中進行,命令如下:flush hosts;