【已解決】啟動nacos報錯:No DataSource set


在這里插入圖片描述
我的nacos布在本地虛擬機上,數據庫裝在本地,用的是MySQL。

啟動的時候一直報錯:No DataSource Set

百度了以下,說是數據庫連接的超時時間太小了。

於是我調大了超時時間。

原配置: &connectTimeout=1000&socketTimeout=3000
修改后:&connectTimeout=10000&socketTimeout=30000

增加了十倍大小。

但是,很不幸,還是他娘的報錯!

而且我用虛擬機ping了一下,本機的ip地址,發現可以ping的通。

真是奇怪,為啥數據庫連不上了呢,為啥呢?

我抓耳撓腮,百思不得其解。

忽然靈光一閃,莫非是root用戶沒有開啟遠程登錄權限 ?

抱着試試看的態度,我打開了root遠程登錄權限。

我裝的數據庫是MySQL8,所以給root用戶授權的語句,可以這樣寫

USE mysql;  #一定要使用mysql表,因為授權只能在這個表里授權。

查看當前用戶的權限。

select host,user from user;

在這里插入圖片描述
果不其然,root用戶只能在本地訪問。

修改root權限為,可以遠程登錄。

update user set host='%' where user='root';

刷新權限

flush privileges;

再次啟動nacos,問題得以解決

MySQL8以前的版本,給root用戶授權的語句,如下:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
All : 表示所有操作,比如select,update,insert等操作
*.* :表示所有庫的所有表(test.*則表示test庫的所有表)。
root :表示授權的用戶名。
% :表示可以從任意地方登錄,如改成192.168.0.999,則表示只能從ip地址為192.168.0.999的機器登錄
123456 :表示授權的用戶名的密碼。

備注

這個報錯信息,有可能是端口未開放遠程訪問導致的。

如果你是windows系統,可以參考以下鏈接,開放3306端口。

Win10防火牆放行MySQL3306端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM