問題:使用Navicat for mysql 遠端連接配接 mySql資料庫會提示10061、1045錯誤或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),這個原因是因為MySQL不準許遠端連接配接。
方法:1
最簡單的辦法是
MySQL遠端配置
1.在mysql指令行下運作如下指令
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '這裡是要設定使用者的密碼(your paaaword)'; %表示多有機器,我這裡是使用root使用者
提示:如果有防火牆開啟,那就必須在防火牆放行mysql的3306端口
>>> CentOS 7.0預設使用的是firewall作為防火牆,使用iptables必須重新設定一下
(1)、直接關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
(2)、設定 iptables service
yum -y install iptables-services
如果要修改防火牆配置,如增加防火牆端口3306
vi /etc/sysconfig/iptables
增加規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
儲存退出後
systemctl restart iptables.service #重新開機防火牆使配置生效
systemctl enable iptables.service #設定防火牆開機啟動
最後重新開機系統使設定生效即可。
方法:2
2.還可以如下方法修改:
(1):在服務端MySQL檔案夾下找到my.ini檔案。修改bind-address=127.0.0.1 為 bind-address=0.0.0.0 (在MySQL 5的my.ini中未發現此項)
(2):重新啟動MySQL服務。
測試連接配接情況:
如果沒有給遠端登入使用者添加所有機器都能通路的權限,将會出現“1045-Access denied for user root@IT(using password:NO)”,這表明需要添權重限;
添加指令如下:
代碼如下 複制代碼
1)grant all on *.* to 使用者名@"%" identified by "密碼";
2)flush privileges;
完成以上步驟,就可以遠端通路MySQL資料庫了。
方法:3
3.如果上面辦法不能解決我們可以開啟MySQL遠端通路權限 允許遠端連接配接
(1)、登陸mysql資料庫
mysql -u root -p
檢視user表
mysql> use mysql;
Database changed
mysql> select host,user from user;
+--------------+------
| host | user |
+--------------+------+
| localhost | root |
| 192.168.1.1 | root |
2 rows in set (0.00 sec)
可以看到在user表中已建立的root使用者。host字段表示登入的主機,其值可以用IP,也可用主機名,
(1)有時想用本地IP登入,那麼可以将以上的Host值改為自己的Ip即可。
(2)、實作遠端連接配接(授權法)
将host字段的值改為%就表示在任何用戶端機器上能以root使用者登入到mysql伺服器,建議在開發時設為%。
update user set host = ’%’ where user = ’root’;
将權限改為ALL PRIVILEGES
mysql> grant all privileges on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)
| host | user |
| localhost | root |
| % | root |
3 rows in set (0.00 sec)
這樣機器就可以以使用者名root密碼root遠端通路該機器上的MySql.
(3)、實作遠端連接配接(改表法)
use mysql;
update user set host = '%' where user = 'root';
這樣在遠端就可以通過root使用者通路Mysql
如果上面辦法不能解決我們可以開啟MySQL遠端通路權限 允許遠端連接配接
1)、登陸mysql資料庫
2)、實作遠端連接配接(授權法)
3)、實作遠端連接配接(改表法)
本文轉自xinrenbaodao 51CTO部落格,原文連結:http://blog.51cto.com/11832904/1951408,如需轉載請自行聯系原作者