租了一臺vps,準備實用遠程連接mysql的時候報錯10060(賬號已經有%權限),發現vps沒有開啟3306埠,登錄上vps后在window防火墻的例外里邊添加了mysql的3306埠后,仍然沒有開啟3306埠,后來索性將window防火墻關閉,發現3306還是沒有打開,服務器也重啟過了,到底是哪里出了問題呢?
uj5u.com熱心網友回復:
轉載一篇,你參考一下,或許有用開啟 MySQL 的遠程登陸帳號有兩大步:
1、確定服務器上的防火墻沒有阻止 3306 埠。
MySQL 默認的埠是 3306 ,需要確定防火墻沒有阻止 3306 埠,否則遠程是無法通過 3306 埠連接到 MySQL 的。
如果您在安裝 MySQL 時指定了其他埠,請在防火墻中開啟您指定的 MySQL 使用的埠號。
如果不知道怎樣設定您的服務器上的防火墻,請向您的服務器管理員咨詢。
2、增加允許遠程連接 MySQL 用戶并授權。
1)首先以 root 帳戶登陸 MySQL
在 Windows 主機中點擊開始選單,運行,輸入“cmd”,進入控制臺,MySQL 的 bin 目錄下,然后輸入下面的命令。
在 Linux 主機中在命令提示行下輸入下面的命令。
> MySQL -uroot -p123456
123456 為 root 用戶的密碼。
2)創建遠程登陸用戶并授權
> grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';
上面的陳述句表示將 discuz 資料庫的所有權限授權給 ted 這個用戶,允許 ted 用戶在 123.123.123.123 這個 IP 進行遠程登陸,并設定 ted 用戶的密碼為 123456 。
下面逐一分析所有的引數:
all PRIVILEGES 表示賦予所有的權限給指定用戶,這里也可以替換為賦予某一具體的權限,例如:select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。
discuz.* 表示上面的權限是針對于哪個表的,discuz 指的是資料庫,后面的 * 表示對于所有的表,由此可以推理出:對于全部資料庫的全部表授權為“*.*”,對于某一資料庫的全部表授權為“資料庫名.*”,對于某一資料庫的某一表授權為“資料庫名.表名”。
ted 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
123.123.123.123 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設定為“%”即可。
123456 為用戶的密碼。
執行了上面的陳述句后,再執行下面的陳述句,方可立即生效。
> flush privileges;
ps:
安裝了MYSQL5.0,可是別人在訪問我的資料庫服務器的時候,老是報10060錯誤,上網查看了一下,原來是windows防火墻將MYSQL的埠3306給攔截了,具體的打開方法如下:
開始-設定-控制面板-Windows防火墻,單擊“例外”-“添加埠”,名稱為:mysql,埠:3306,TCP協議,單擊“確定”就可以了。
自:http://faq.comsenz.com/viewnews-140
uj5u.com熱心網友回復:
這些都沒有幫到我,還是謝謝你了uj5u.com熱心網友回復:
哦,慚愧
uj5u.com熱心網友回復:
請問你的問題處理了沒有,我也遇到了同樣的問題。uj5u.com熱心網友回復:
1、先用打開cmd,看下3306埠是否監聽
2、關閉防火墻
3、還是不行的話,那就找一臺linux服務器,用nmap工具嗅探埠是否打開
nmap -p 3306 IP
uj5u.com熱心網友回復:
1)
2)已關閉。
3)我的是windows server 2008 r2 的系統。
uj5u.com熱心網友回復:
請問最后解決了嗎?可以提供下思路嗎,謝謝uj5u.com熱心網友回復:
用戶表中 將root/localhost改成 root/%轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/96995.html
