mysql创建数据库时候同时创建表空间_MySQL 创建InnoDB表空间_编程学问网
15.2.5.?創建InnoDB表空間
假設你已經安裝了MySQL,并且已經編輯了選項文件,使得它包含必要的InnoDB配置參數。在啟動MySQL之前,你應該驗證你為InnoDB數據文件和日志文件指定的目錄是否存在,并且MySQL有訪問這些目錄的權限。InnoDB不能創建目錄,只能創建文件。也檢查你有足夠的空間來放數據和日志文件。
當創建InnoDB數據庫時,最好從命令提示符運行MySQL服務器mysqld, 而不要從mysqld_safe包裝或作為Windows的服務來運行。當你從命令提示符運行,你可看見mysqld打印什么以及發生了什么。在Unix上,只需要調用mysqld。在Windows上,使用--console選項。
當在選項文件里初始地配置InnoDB后,開始啟動MySQL服務器之時,InnoDB創建一個數據文件和日志文件。InnoDB打印如下一些東西:
InnoDB: The first specified datafile /home/heikki/data/ibdata1
did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file /home/heikki/data/ibdata1 size to 134217728
InnoDB: Database physically writes the file full: wait...
InnoDB: datafile /home/heikki/data/ibdata2 did not exist:
new to be created
InnoDB: Setting file /home/heikki/data/ibdata2 size to 262144000
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file /home/heikki/data/logs/ib_logfile0 did not exist:
new to be created
InnoDB: Setting log file /home/heikki/data/logs/ib_logfile0 size
to 5242880
InnoDB: Log file /home/heikki/data/logs/ib_logfile1 did not exist:
new to be created
InnoDB: Setting log file /home/heikki/data/logs/ib_logfile1 size
to 5242880
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
InnoDB: Started
mysqld: ready for connections
一個新的InnoDB數據庫被創建了。你可以用mysql這樣通常的MySQL客戶端程序連接到MySQL服務器。當你用mysqladmin shutdown關閉MySQL服務器之時,輸出類似如下:
010321 18:33:34mysqld:
Normal shutdown
010321 18:33:34mysqld: Shutdown Complete
InnoDB: Starting shutdown...
InnoDB: Shutdown completed
你可以看數據文件和日志文件,并且你可以看見文件被創建。日志目錄也包含一個名為ib_arch_log_0000000000的小文件。這個文件是數據庫被創建的結果,數據庫被創建之后InnoDB切斷日志歸檔。當MySQL再次啟動之時,數據文件&日志文件已經被創建,所以輸出更簡潔:
InnoDB: Started
mysqld: ready for connections
你可以添加innodb_file_per_table選項到my.cnf文件,并且讓InnoDB存儲每一個表到MySQL數據庫目錄里自己的.ibd文件。請參閱15.2.6.6節,“使用Per-Table表空間”。
15.2.5.1.?處理InnoDB初始化問題
如果InnoDB在一個文件操作中打印一個操作系統錯誤,通常問題是如下中的一個:
·你沒有創建一個InnoDB數據文件目錄或InnoDB日志目錄。
·mysqld沒有訪問這些目錄的權限 以創建文件。
·mysqld不能恰當地讀取my.cnf或my.ini選項文件,因此不能看到你指定的選項。
·磁盤已滿,或者超出磁盤配額。
·你已經創建一個子目錄,它的名字與你指定的數據文件相同。
·在innodb_data_home_dir或innodb_data_file_path有一個語法錯誤。
當InnoDB試著初始化它的表空間或日志文件之時,如果出錯了,你應該刪除InnoDB創建的所有文件。這意味著是所有ibdata文件和所有ib_logfiles文件。萬一你創建了一些InnoDB表,為這些表也從MySQL數據庫目錄刪除相應的.frm文件(如果你使用多重表空間的話,也刪除任何.ibd文件)。然后你可以試著再次創建InnoDB數據庫。最好是從命令提示符啟動MySQL服務器 ,以便你可以查看發生了什么。
總結
以上是生活随笔為你收集整理的mysql创建数据库时候同时创建表空间_MySQL 创建InnoDB表空间_编程学问网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.7+主从不一致_Mysql
- 下一篇: mysql查询总结_mysql查询总结相