閱讀33 返回首頁    go 阿裏雲 go 技術社區[雲棲]


1.5 在應用中連接和使用分析型數據庫__快速入門_分析型數據庫-阿裏雲

首次成功導入數據到分析型數據庫後,我們便希望我們的應用係統能夠連接到分析型數據庫來進行數據查詢。分析型數據庫可以通過任何支持 5.1.x 5.4.x 5.6.x協議的客戶端進行連接。連接所使用的域名和端口號可以在iDB Cloud的右上角進行查看。連接使用的用戶名和密碼為用戶在阿裏雲的Access Key,可以在 https://i.aliyun.com/access_key/ 查看和管理。其中Access Key ID為用戶名,Access Key Secret為密碼(分析型數據庫承諾不會保存用戶的Access Key信息)。

若需要使用阿裏雲訪問控製(RAM)子賬號連接分析型數據庫,請參閱使用手冊的8.6節。

在PHP中連接分析型數據庫

在PHP環境下,假設我們已經安裝好了php-mysql 5.1.x模塊(Windows下為php_MySQL.dll),那麼我們新建一個ads_conn.php,內容如下:

  1. $ads_server_name="mydbname-xxxx.ads-cn-hangzhou-1.aliyuncs.com "; //數據庫的連接url,請在控製台中的連接信息中獲取
  2. $ads_username="my_access_key_id"; // 連接數據庫用戶名
  3. $ads_password="my_access_key_secret"; // 連接數據庫密碼
  4. $ads_database="my_ads_db"; // 數據庫的名字
  5. $ads_port=3003; //數據庫的端口號,請在控製台中的連接信息中獲取
  6. // 連接到數據庫
  7. $ads_conn=mysqli_connect($ads_server_name, $ads_username, $ads_password, $ads_database, $ads_port);

執行查詢時,可以使用:

  1. $strsql="SELECT user_id FROM my_ads_db.my_first_table limit 20;"; $result=mysqli_query($ads_conn, $strsql);
  2. while($row = mysqli_fetch_array($result)) {
  3. echo $row["user_id"] ; //user_id為列名
  4. }

上述代碼即可取出任意十條記錄的user_id並打印出。注意分析型數據庫在數據查詢中是不支持SELECT *方式查詢所有列的。

在JAVA中連接分析型數據庫

通常,在JAVA中,我們通過連接池來使用分析型數據庫。在這裏我們以國產的高性能連接池Druid為例來演示連接分析型數據庫的方式。

  1. import com.alibaba.druid.pool.*;
  2. DruidDataSource dataSource = new DruidDataSource();
  3. dataSource.setDriverClassName("com.mysql.jdbc.Driver");
  4. dataSource.setUsername("my_access_key_id");
  5. dataSource.setPassword("my_access_key_secret");
  6. dataSource.setUrl("jdbc:mysql://mydbname-xxxx.ads-hz.aliyuncs.com:5544/my_ads_db");
  7. // 連接數配置
  8. dataSource.setInitialSize(5);
  9. dataSource.setMinIdle(1);
  10. dataSource.setMaxActive(10);
  11. // 啟用監控統計功能
  12. dataSource.setFilters("stat");
  13. // for mysql
  14. dataSource.setPoolPreparedStatements(false);
  15. // 使用心跳語句檢測空閑連接
  16. dataSource.setValidationQuery('show status like "%Service_Status%";');
  17. dataSource.setTestWhileIdle(true);

如上,需要注意的是,若是在任何語言中需要使用心跳SQL來進行分析型數據庫服務狀態檢測,請使用 show status like “%Service_Status%” 語句,若返回一行兩列且第二列為1,則分析型數據庫服務正常。

最後更新:2016-11-23 16:03:54

  上一篇:go 1.4 導入數據__快速入門_分析型數據庫-阿裏雲
  下一篇:go 1.6 新增用戶和授權__快速入門_分析型數據庫-阿裏雲