InnoDB 中文參考手冊 --- 3 建立一個 InnoDB 資料庫 (轉)
假設你已經了 MySQL 並且已經修改了 my.cnf 包含了必要的 InnoDB 引數設定 。在啟動 MySQL 之前必須檢查為InnoDB 指定的資料與日誌路徑是否存在以及在 這些目錄上有足夠的。InnoDB 不會自己建立目錄,只能建立檔案。同時檢查是否有足夠的空間存放資料與日誌檔案。
當建立一個 InnoDB 資料庫時最好以命令列方式來執行 MySQL 服務 mysqld ,而不是從 safe_mysqld 或 服務。當從命令列方式執行服務時可以看到建立過程。
現在執行 MySQL 服務,InnoDB 將建立資料檔案和日誌檔案。InnoDB 將顯示下列所示的資訊:
heikki@donna:~/mysql-3.23.48/sql> mysqld 020204 23:17:12 InnoDB: The first specified data file /dr2/tmp/heikki/data/ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file /dr2/tmp/heikki/data/ibdata1 size to 20 MB InnoDB: Database physically writes the file full: wait... 020204 23:17:16 InnoDB: Data file /dr2/tmp/heikki/data/ibdata2 did not exist: new to be created InnoDB: Setting file /dr2/tmp/heikki/data/ibdata2 size to 200 MB InnoDB: Database physically writes the file full: wait... 020204 23:17:41 InnoDB: Data file /dr2/tmp/heikki/data/ibdata3 did not exist: new to be created InnoDB: Setting file /dr2/tmp/heikki/data/ibdata3 size to 1000 MB InnoDB: Database physically writes the file full: wait... 020204 23:21:37 InnoDB: Log file ./ib_logfile0 did not exist: new to be created InnoDB: Setting log file ./ib_logfile0 size to 10 MB InnoDB: Database physically writes the file full: wait... 020204 23:21:39 InnoDB: Log file ./ib_logfile1 did not exist: new to be created InnoDB: Setting log file ./ib_logfile1 size to 10 MB InnoDB: Database physically writes the file full: wait... 020204 23:21:41 InnoDB: Log file ./ib_logfile2 did not exist: new to be created InnoDB: Setting log file ./ib_logfile2 size to 10 MB InnoDB: Database physically writes the file full: wait... InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created 020204 23:21:45 InnoDB: Started mysqld: ready for connections
現在一個新的 InnoDB 資料庫被建立了。你可以透過 MySQL 的客戶端(比如 mysql)連線 MySQL 。當透過 mysqladmin shutdown
關閉 MySQL 服務時,InnoDB 輸出如下所示:
020204 23:34:45 mysqld: Normal shutdown 020204 23:34:45 InnoDB: Starting shutdown... 020204 23:34:47 InnoDB: Shutdown completed 020204 23:34:47 mysqld: Shutdown Complete
現在你可以看到資料檔案與日誌檔案已被建立。在日誌檔案目錄下也會包含一個句為 ib_arch_log_0000000000 的小檔案。這是當 InnoDB 的日誌存檔(log archiving)開關關閉後,資料庫建立後形成的檔案。 當 MySQL 再次啟動時,螢幕顯示所下所示:
heikki@donna:~/mysql-3.23.48/sql> mysqld 020204 23:34:27 InnoDB: Started mysqld: ready for connections
如果 InnoDB 顯示一個檔案操作的操作錯誤,請檢視第 13.2 節 錯誤程式碼的含義。常見的錯誤如下:
- 沒有建立 InnoDB 資料或日誌檔案目錄。
- mysqld 在那些目錄下沒有建立檔案的許可權。
- mysqld 沒有許可權讀取 my.cnf 或 my.ini 檔案,因而無法所指定的選項。
- 磁碟空間已滿或超過磁碟配額。
- 建立了一個與資料檔案同名的子目錄。
innodb_data_home_dir
或innodb_data_file_path
中設定語法出錯。
如果在 InnoDB 資料庫建立時發生了一個錯誤,你必須刪除所有 InnoDB 建立的檔案。 這就意味著所有的資料檔案、所有的日誌檔案、日誌存檔檔案,如果你已經建立了一些 InnoDB 表,必須刪除 MySQL 資料目錄下相應的 “.frm”檔案。然後可以再嘗試建立 InnoDB 資料庫。最好以命令列方式啟動 MySQL 服務,從而可以看到建立過程。
通常在關閉之前你必須先關閉資料庫服務。在命令列方式下輸入 mysqladmin shutdown
可以以服務。
在 和 2000 下可以將 MySQL 服務安裝為 Windows 系統服務。這樣在計算機啟動時 MySQL 服務會自動啟動或在命令列方式下輸入 MS-D命令 .NET START MySQL
或從的服務選單中啟動。
如果以系統服務方式執行 MySQL,可以透過 MS-DOS的 NET STOP MySQL
命令或作業系統的服務選單中關閉服務。你同樣可以讓作業系統退出前自動關閉 MySQL。在低於 MySQL 3.23.47 版本的系統中,Windows 作業系統僅僅只等待一段時間讓 InnoDB 完全關閉,如果限止時間超過將殺死資料服務執行緒。那在下一次 InnoDB 啟動不得不不進行一個崩潰修復。從 MySQL version 3.23.48 開始,作業系統將等待 InnoDB 完全關閉。
如果你的作業系統沒有為 InnoDB 完全關閉提供足夠的時間,最的辦法就是在 MS-DOS 命令列下執行 MySQL 服務,並用 mysqladmin shutdown
關閉服務。
在 Windows NT (但 Windows 2000 無些問題)下,當計算機關閉時,有一個可能發生的問題就是 Windows NT 預設等待 20 秒以關閉一個服務,服務未能關閉將殺死服務執行緒。可以透過執行登錄檔編輯器 winntsystem32
egedt32.exe 來修改 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 中的 WaitToKillServiceTimeout
鍵值以增加這個預設值。以毫秒為單位給定一個更大的值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-957774/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- InnoDB 中文參考手冊 --- 6 備份和恢復 InnoDB 資料庫 (轉)資料庫
- InnoDB 中文參考手冊 --- 7 將 InnoDB 資料庫移動到另一臺機器中 (轉)資料庫
- InnoDB 中文參考手冊 --- 8 InnoDB 事務模式與鎖定 (轉)模式
- InnoDB 中文參考手冊 --- 5 新增與移除 InnoDB 資料和日誌檔案 (轉)
- InnoDB 中文參考手冊 --- 13 出錯處理 (轉)
- InnoDB 中文參考手冊 --- 10 multiversioning 的實現 (轉)
- InnoDB 中文參考手冊 --- 11 表和索引結構 (轉)索引
- InnoDB 中文參考手冊 --- 15 故障檢測與修復 (轉)
- InnoDB 中文參考手冊 --- 12 檔案空間管理和磁碟 I/O (轉)
- Linux資料庫:SQL語法參考手冊(轉)Linux資料庫SQL
- DOJO API 中文參考手冊API
- 建立高效能的資料庫——效能調整手冊和參考資料庫
- 手工建立一個資料庫的步驟參考資料庫
- MySQL中文參考手冊5(安裝MySQL下) (轉)MySql
- MySQL 4.1.0 中文參考手冊 --- 6.2 列型別 (轉)MySql型別
- DOM參考手冊及事件參考手冊事件
- MySQL 4.1.0 中文參考手冊 --- 6.5 資料定義: CREATE、DROP、ALTER (轉)MySql
- Git命令參考手冊(轉)Git
- MySQL 5.1中文參考手冊MySql
- Oracle分析函式參考手冊(轉)一Oracle函式
- MySQL 4.1.0 中文參考手冊 --- 6.8 MySQL 全文搜尋 (轉)MySql
- MySQL 4.1.0 中文參考手冊 --- 6.4 資料操縱:SELECT, INSERT, UPDATE, DELETE (轉)MySqldelete
- SQL 語法參考手冊(轉)
- delphi函式參考手冊 (轉)函式
- SQL語法參考手冊(轉)SQL
- MySQL 4.1.0 中文參考手冊 --- 6.9 MySQL 查詢快取 (轉)MySql快取
- UML參考手冊 第三部分 參 考 資 料 第14章. 標準元素 <一> (轉)
- SQL 語法參考手冊(SQL) (轉)SQL
- JavaScript完全參考手冊第3版pdfJavaScript
- mysql最新版中文參考手冊線上瀏覽MySql
- JavaScript物件參考手冊JavaScript物件
- JQuery 1.6參考手冊jQuery
- 參考手冊總結
- MySQL 5.1參考手冊MySql
- mysql 5.1 參考手冊MySql
- MySQL 4.1.0 中文參考手冊 --- 6.7 MySQL 事務與鎖定命令 (轉)MySql
- Oracle分析函式參考手冊(轉)二Oracle函式
- 雲伺服器innodb資料庫轉引擎為MyISAM伺服器資料庫