本文目錄一覽:
連接mysql數據庫失敗怎麼辦
1 mysql 錯誤 ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’
解決辦法:關閉防火牆,linux下命令
[root@etl01 bin]# chkconfig –list | grep -i iptables ====check fire wall
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@etl01 bin]# /sbin/service iptables stop ====stop fire wall
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: nat filter [ OK ]
Unloading iptables modules: [ OK ]
2 報錯:1130-host … is not allowed to connect to this MySql server
解決辦法:
授權形式
比如賬戶為root,密碼為root
use mysql;
用root賬戶從任何主機上訪問mysql數據庫了
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
如果你想允許用戶zz從ip為192.168.1.3的主機連接到mysql服務器,並使用123456作為密碼
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
電腦連接mysql失敗
原因一:登錄賬號、密碼、服務器名稱、數據庫名稱登錄錯誤導致不能連接,這個比較常見,仔細檢查好所填信息是否正確,填寫正確一般就可以解決。
解決方法:當正在使用的軟件出現數據庫不能連接時,一般就是服務器名出現問題,更改服務器名稱一般可以解決問題。數據庫如果是安裝在本機,服務器名可以用“.”或“(local)”來代替 ;如果是安裝在局域網的其它計算機上,可以用IP地址作為服務器名。
原因二:如果沒能正確安裝SQL服務器,也會導致數據庫連接不上;安裝好數據庫後,如果SQL服務管理器沒有啟動,則要去服務那裡開啟。
解決方法:如果是SQL數據庫未能能成功安裝,再次重新安裝時,可能會無法安裝,提示是存在一個未完成的安裝掛起。解決就方法是:打開註冊表編輯器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到並刪除PendingFileRenameOperations項目即可。
如果是更改了Windows的用戶名或者密碼,會導致SQL服務管理器不能啟動,解決辦法是去控制版面的服務那裡修改啟動。具體是:點擊開始–設置–控制面板–管理工具–服務–找到MSSQLSERVER服務–在上面右鍵–屬性–登陸–修改啟動服務的帳戶和密碼。
原因三:因權限問題導致數據庫不能連接,解決方法是檢測計算機的安全保護限制、SQL Server安全設置、操作系統的安全限。
解決方法:可以先暫時關閉防火牆或者殺毒軟件,看是否是這些軟件的安全設置所導致。
SQL Server安全設置:打開企業管理器–展開SQ L Server組–右擊服務器名–點擊屬性–在SQL Server屬性–安全性中,把“身份驗證”選擇為“在SQL Server和Windows”;
如果SQL服務器採用的是Windows XP系統,當工作站電腦出現不能連接數據庫的情況時,可以在服務器和工作站各建立一個相同的WINDOWS用戶賬號和密碼
原因四:引起原因:網絡連接存在故障;
解決方法:檢修網絡是否存在故障。
mysql連接不上怎麼辦
1.排除網絡或防火牆問題
先看是否能ping通遠程服務器,ping 192.168.1.211,如果不可以就是網絡問題。然後,檢查端口是否被防火牆擋住了,telnet 192.168.1.211 3306,如果連接失敗,配置防火牆。
配置防火牆,開啟3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允許3306端口通過防火牆)
/etc/init.d/iptables restart(重啟防火牆使配置生效)
2.檢查MySQL配置
如果開啟了防火牆,telnet還是失敗,通過netstat查看3306的端口狀態:
netstat -apn|grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld
注意地方,這說明3306被綁定到了本地。檢查一下my.cnf的配置,這裡可以配置綁定ip地址。
bind-address=addr
不配置或者IP配置為0.0.0.0,表示監聽所有客戶端連接。
ps:我開啟3306端口,並且檢查MySQL配置之後,telent仍然失敗,但是在本機telnet是ok的,再三確認了配置沒有問題。後來跟我們的ucloud賬號管理員提了一下,才知道ucloud管理後台也需要開啟3306端口,用雲服務器的留意這個。
3.檢查用戶訪問權限
MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost,那麼這個用戶就只能本機訪問,其它機器用這個用戶帳號訪問會提示沒有權限,host改為%,表示允許所有機器訪問。
最後,別忘了重啟mysql使配置生效。
# /etc/init.d/mysql restart
望採納
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/232209.html