java 串連mariadb 無法擷取資料來源的問題,在ubuntu上部署的時候(原創)

來源:互聯網
上載者:User

標籤:checkout   log4   cli   please   span   mil   processor   append   nec   

問題:

串連資料庫時報錯:


log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.lang.RuntimeException: 無法從資料來源擷取串連
    at com.eteda.DbConnectionPool.EtedaDbPool.getConnection(EtedaDbPool.java:106)
    at com.zdc.MyServer.ZhangWork.UserLogin(ZhangWork.java:3567)
    at com.zdc.MyServer.ZhangWork.process(ZhangWork.java:96)
    at com.lyw.MyServer.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:50)
    at com.lyw.MyServer.catalina.connector.http.Hander.run(Hander.java:14)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:692)
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
    at com.eteda.DbConnectionPool.EtedaDbPool.getConnection(EtedaDbPool.java:104)
    ... 7 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
    at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1469)
    at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
    at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
    ... 9 more


分析:

  問題原因在設定檔或者建立jdbc時串連資料庫的問題上:

先是執行這句:grant all on lx.* to "zhangdc"@‘%‘;
然後配置上面的檔案,就可以了。

 下面是自己寫的一個測試程式,也能通:

 總結:從mysql資料庫,換成mariadb後,先是將mysql的jar包換成mariadb-java-client-1.6.4.jar(最後問題解決了,回來測了一下,跟這個沒關係)。然後進入資料庫執行:

grant all on lx.* to "zhangdc"@‘%‘;後,用zhangdc使用者登陸,問題就解決了。




有用提示:
grant all on db_name.* to ‘vincent’@‘%‘;


或者GRANT ALL PRIVILEGES ON db_base.* TO db_user @‘%‘ IDENTIFIED BY ‘db_passwd‘;

 

java 串連mariadb 無法擷取資料來源的問題,在ubuntu上部署的時候(原創)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.