一、登錄遠程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;