日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

數據庫常見問題

為了有效排查和解決在使用云虛擬主機數據庫時遇到的功能問題(例如支持哪些數據庫、是否支持開啟event_scheduler組件)和其他操作問題(例如,如何擴大數據庫空間、數據庫導入失敗問題等)。本文為您匯總了使用云虛擬主機數據庫時遇到的一些常見問題。

云虛擬主機支持哪些數據庫?

不同操作系統的云虛擬主機支持不同類型的數據庫,如下所示:

  • Linux操作系統云虛擬主機支持MySQL和SQLite數據庫。

  • Windows操作系統云虛擬主機支持SQL Server和Access數據庫。

更多信息,請參見云虛擬主機支持的數據庫版本

MySQL數據庫是否支持開啟event_scheduler?

云虛擬主機的MySQL數據庫默認關閉event_scheduler參數,且不支持手動開啟該參數。

說明

event_scheduler是MySQL中一個類似定時器的組件,通過調用該組件,您可以在指定的時間點執行一條SQL語句或一個語句塊,也可以用于在固定間隔重復執行SQL語句。

通過以下操作,您可以看到event_scheduler參數為關閉(OFF)狀態:

  1. 登錄MySQL數據庫。

    具體操作,請參見通過DMS Web版本登錄數據庫

  2. 在頂部菜單欄,選擇SQL窗口

  3. SQL窗口編輯區域,輸入show variables like '%sche%';,然后單擊執行(F8)

    命令執行成功后,在結果集1頁簽下,您可以查詢到event_scheduler的狀態為OFF

    SQL窗口

MySQL函數與MySQLi函數有什么區別?

PHP可以通過MySQL和MySQLi兩種函數操作MySQL數據庫,函數的具體說明和示例代碼如下所示:

  • MySQL函數

    • 在PHP 5.0之前,一般使用PHP的MySQL函數操作MySQL數據庫,屬于面向過程的方式。例如,函數mysql_query()

    • MySQL是非持久連接函數,每次連接都會打開一個新的連接進程。

    • MySQL函數語法:以query語句為例,使用mysql_query(SQL語句,資源標識)時,資源標識是可選參數,默認值是上次打開的連接或資源。

    • 以使用MySQL函數連接數據庫、并從數據庫中獲取指定字段的值為例,MySQL示例代碼如下所示:

      $conn = mysql_connect('localhost', 'user', 'password');  //連接mysql數據庫  
      mysql_select_db('data_base');                            //選擇數據庫
      $result = mysql_query('selectfrom data_base');           //第二個可選參數,指定打開的連接  
      $row = mysql_fetch_row( $result ) )                      //只取一行數據  
      echo $row[0];                                            //輸出第一個字段的值 
  • MySQLi函數

    • 在PHP 5.0之后,新增了MySQLi函數,它是MySQL函數的增強版,比MySQL函數更加穩定、高效和安全,屬于面向對象的方式。例如,函數mysqli_query()

      說明

      MySQLi不僅封裝了數據庫操作過程中的常用方法,還封裝了事務等一些高級操作。

    • MySQLi是永久連接函數。即使您多次運行MySQLi函數連接服務器,也只會使用同一連接進程,可有效減少服務器的資源浪費。

    • MySQLi函數語法:以query語句為例,使用mysqli_query(資源標識,SQL語句)時,必須指定資源。

    • 以使用MySQLi函數連接數據庫、并從數據庫中獲取指定字段的值為例,MySQLi示例代碼如下所示:

      $conn = new mysqli('localhost', 'user', 'password','data_base');  //使用new操作符,最后一個參數是直接指定數據庫
      $conn -> select_db('data_base')                                  //如果上一句沒有指定數據庫,需要執行本命令指定數據庫 
      $result = $conn -> query( 'selectfrom data_base');  
      $row = $result -> fetch_row();                                    //取一行數據 
      echo row[0];                                                      //輸出第一個字段的值        

如何管理云虛擬主機數據庫?

購買云虛擬主機時,阿里云會根據您選擇的數據庫類型為您的云虛擬主機預裝數據庫。您可以在云虛擬主機管理控制臺執行重置數據庫密碼、變更數據庫、備份數據庫的數據等操作,也可以通過數據管理DMS對數據庫中的表和數據進行維護。更多信息,請參見云虛擬主機數據庫概述

您可以通過以下方式管理數據庫:

如何查看數據庫已用空間?

本文以MySQL數據庫為例,操作步驟如下所示:

  1. 登錄云虛擬主機管理控制臺

  2. 查看云虛擬主機數據庫空間的使用情況。

    • 站點信息頁面:

      站點信息頁面的網站信息區域查看空間使用情況。

      站點信息頁面

    • 數據庫信息頁面:

      單擊左側的數據庫信息,在數據庫信息頁面的數據空間列下查看空間使用情況。

      數據庫信息頁面

如何擴大云虛擬主機的數據庫空間?

阿里云會提前為云虛擬主機預裝數據庫。購買云虛擬主機后,如果您需要擴大云虛擬主機的數據庫空間來滿足當前業務需要,可以通過以下方法來實現。

  • 升級云虛擬主機:如果您業務需要的數據庫空間最大為1 GB,您可以通過升級云虛擬主機來擴大數據庫空間。具體操作,請參見升級云虛擬主機

  • 額外購買數據庫空間:如果當前業務需要的數據庫空間超過主機本身預裝的數據庫空間,甚至超過1 GB,您可以通過額外購買數據庫空間來擴大空間大小。具體操作,請參見增加云虛擬主機的數據庫空間

如何修改ASP和ASP.NET網站的數據庫連接字符串?

當您執行手動遷移網站數據、重置數據庫密碼等操作后,還需要同步修改網站程序配置文件中包含的數據庫連接字符串信息。

在使用ASP或ASP.NET編寫的網站程序中,一般配置文件Conn.aspWeb.Config中包含連接數據庫信息的字符串。以配置文件Conn.asp為例,代碼示例如下:

set Conn=server.CreateObject("ADODB.CONNECTION")
StrConn="Provider=SQLOLEDB;Data Source=云虛擬主機數據庫地址,端口號;User ID=云虛擬主機數據庫用戶名;Password=云虛擬主機數據庫密碼;Initial Catalog= 云虛擬主機數據庫名稱"
Conn.open StrConn

數據庫信息變更后,上述代碼示例中的數據庫信息需要您替換為變更后的數據庫信息。獲取數據庫信息的具體操作,請參見獲取和配置數據庫信息

數據庫導入失敗或無法導入怎么辦?

問題現象:

將本地數據庫的SQL文件、CSV文件或.bak格式的SQL Server文件導入云虛擬主機數據庫時,提示數據庫導入失敗。

可能原因

  • 原因一:待導入的數據庫對應的數據量過大。

  • 原因二:使用舊版的DMS(Web版)導致無法導入。

解決方案

數據庫連接數已占滿怎么辦?

問題現象

連接云虛擬主機的數據庫時,提示云虛擬主機數據庫存在故障,無法正常連接,并出現類似如下報錯信息User bdm2569**** already has more than 'max_user_connections' active connections,表示數據庫連接數已滿。

可能原因

網站程序可能存在數據庫慢查詢或者數據庫連接未釋放等問題。

解決方案

  1. 修改網站程序代碼,提高數據庫的查詢速度或者正常釋放數據庫連接。

  2. 重啟云虛擬主機服務器。具體操作,請參見重啟云虛擬主機和云享主機

    重要

    重啟服務器需要15分鐘,請您耐心等待。重啟過程中您的所有操作會無法生效,請您在服務器重啟完成后再進行其他操作。

  3. 再次連接云虛擬主機的數據庫。

    • 如果正常連接,則問題已解決,操作結束。

    • 如果未正常連接,則問題未解決,請提交工單獲取幫助。