本文目錄一覽:
- 1、mysql-front連接本地數據庫時顯示「執行錯誤」,請高手賜教。。。謝謝
- 2、mysql連接數據庫失敗,請確定數據庫用戶名,密碼設置正確
- 3、連接mysql數據庫時報錯如何解決?
- 4、mysql5.7.12報錯如下情況導致無法連接數據庫應該怎麼辦?
- 5、mysql鏈接本地的數據庫報錯求高手解決 The Network Adapter could not establish the connection
mysql-front連接本地數據庫時顯示「執行錯誤」,請高手賜教。。。謝謝
問題解決方法:
首先使用update把mysql.user中的root的host從localhost修改成%:
mysql
UPDATE
mysql.user
SET
Host=’%’
WHERE
Host=’localhost’;
mysql
GRANT
ALL
PRIVILEGES
ON
*.*
TO
root@”%”;
mysql
FLUSH
PRIVILEGES;
再次連接,顯示成功。
mysql連接數據庫失敗,請確定數據庫用戶名,密碼設置正確
現象
一線的工程師反映了一個奇怪的現象,剛剛從 MySQL 官網上下載了一個 MySQL 5.7.31。安裝完成後,發現使用任何密碼都能登陸 MySQL,修改密碼也不管用,重新啟動 MySQL 也不能解決。
分析
懷疑使用了 –skip-grant-tables 使用 mysqld –print-defaults 檢查,沒有發現。
檢查登陸用戶,都是 root@localhost,說明和 proxy user 沒有關係。
使用 mysql –print-defaults 檢查客戶端是否設置默認的用戶和密碼,沒有發現。
檢查數據庫中的用戶和密碼的相關字段:
發現一切都正常,再檢查 plugin 字段,發現只有 root 用戶是 auth_socket ,其它的用戶都是 mysql_native_password,問題可能就出在這兒。
對 auth_socket 驗證插件不了解,感覺是這個插件不安全,使用下面的命令修改後,問題解決:
update user set plugin=”mysql_native_password” where user=’root’;
auth_socket 驗證插件的使用場景
問題解決後,又仔細研究了一下 auth_socket 這個插件,發現這種驗證方式有以下特點:
首先,這種驗證方式不要求輸入密碼,即使輸入了密碼也不驗證。這個特點讓很多人覺得很不安全,實際仔細研究一下這種方式,發現還是相當安全的,因為它有另外兩個限制;
只能用 UNIX 的 socket 方式登陸,這就保證了只能本地登陸,用戶在使用這種登陸方式時已經通過了操作系統的安全驗證;
操作系統的用戶和 MySQL 數據庫的用戶名必須一致,例如你要登陸MySQL 的 root 用戶,必須用操作系統的 root用戶登陸。
auth_socket 這個插件因為有這些特點,它很適合我們在系統投產前進行安裝調試的時候使用,而且也有相當的安全性,因為系統投產前通常經常同時使用操作系統的 root 用戶和 MySQL 的 root 用戶。當我們在系統投產後,操作系統的 root 用戶和 MySQL 的 root 用戶就不能隨便使用了,這時可以換成其它的驗證方式,可以使用下面的命令進行切換:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘test’;
連接mysql數據庫時報錯如何解決?
一、我們一般的連接步驟如下:
1、在MyEclipse中連接MySQL數據庫:依次點擊window–show view–other–MyEclipse Database–DB Browser
2、選中DB Browser,右鍵單擊,並選擇New一個數據連接的菜單,新建一個MySQL連接,在彈出的新窗口中填入相應的信息
3、然後點擊Finish,完成此次操作,卻得到了如下圖所示的錯誤信息,嘗試多次也無法連接,為了驗證用戶名和密碼是否正確,我們在MySQL終端嘗試輸入該用戶和密碼
二、解決方法:
最終在終端使用「select * from mysql.user;」命令查詢用戶表的時候,結果返回卻只有root一個用戶,然後將MyEclipse中MySQL連接中的User name改成root就能連接成功了。
參考資料
MyEclipse連接MySQL數據庫報錯解決辦法.腳本之家[引用時間2017-12-29]
mysql5.7.12報錯如下情況導致無法連接數據庫應該怎麼辦?
一、mysqld 進程沒有正常運行遇到這種情況首先到服務器上看看 mysqld 進程是否活着,採用的命令:
二、客戶端不能和進程 mysqld 通信如果 MySQL 服務器上的 mysqld 進程運行正常,我們再看看客戶端能不能和 mysqld 進行通信,使用下面的命令進行網絡連通的測試:telnet localhost 3306
如果本地能通,再到客戶端的機器上把 localhost 換成 MySQL 服務器的 ip 地址進行測試。如果不能通,通常有兩種原因,一種原因是 OS 或網絡的問題,或者是防火牆;另一種原因是 mysqld 自身根本沒有偵聽客戶端的連接請求, mysqld 啟動後對於客戶端的偵聽是分三種情況。
第一種情況
是使用參數 –skip-networking 跳過偵聽客戶端的網絡連接,用下面的命令我們可以看到 MySQL 根本沒有偵聽 3306 端口。
第二種情況
使用參數 –bind-address 後面增加對客戶端訪問 IP 地址的限制,例如只偵聽本地的連接
三、賬戶密碼的問題最後一種情況是賬戶密碼的問題,應付這種情況我們有個有力的工具就是查看 MySQL 的 error log, error log 記載信息的詳細程度上由參數 –log-error-verbosity 進行控制的
mysql鏈接本地的數據庫報錯求高手解決 The Network Adapter could not establish the connection
不能創建出局連接池.
1. 查看數據庫服務IP是否跟程序配置的一樣.
2. 查看數據庫服務端口是否跟程序配置的一樣.
3. 數據庫服務是否已經啟動.
4. 以上條件都滿足並且WebAPP 和 DB 不在一台電腦上, 請確認兩台電腦之間的通訊是否正常.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/257755.html