posts - 28,  comments - 15,  trackbacks - 0

          ?????? InnoDB 給 MySQL 提供了具有事務(commit)、回滾(rollback)和崩潰修復能力(crash recovery capabilities)的事務安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行鎖(locking on row level),提供與 Oracle 類型一致的不加鎖讀取(non-locking read in SELECTs)。這些特性均提高了多用戶并發操作的性能表現。在InnoDB表中不需要擴大鎖定(lock escalation),因為 InnoDB 的列鎖定(row level locks)適宜非常小的空間。InnoDB 是 MySQL 上第一個提供外鍵約束(FOREIGN KEY constraints)的表引擎。
          ????????????要想正常的使用InnoDB帶給我們的好處,首先要建立InnoDB數據庫。示例采用的mysql版本是4.0.12,這個版本屬于mysql的beta版本。假設你的mysql已經安裝完畢,并且采用的是win xp操作系統,接下來我們就要創建InnoDB數據庫。
          ????????????當創建一個 InnoDB 數據庫時最好以命令行方式來運行 MySQL 服務 mysqld ,而不是從 safe_mysqld 或 Windows 服務。當從命令行方式運行服務時可以看到建立過程。
          ??????步驟1:通過 MS-DOS的 NET STOP MySQL 命令停止mysql服務。
          ??????步驟2:修改c:/windows/my.ini文件,主要是設置Innodb的參數。從設置最小的角度考慮,可以
          ?????????????設置一下幾項:
          ???????????????innodb_data_home_dir??????????????????????????????????/*innodb數據庫數據文件目錄*/
          ???????????????innodb_data_file_path??????????????????????????????????/*數據文件名稱及大小*/
          ???????????????????????innodb_buffer_pool_size????????????????????? /*緩沖池的大小,一般設置為主存的50%-80%*/
          ???????????????innodb_additional_mem_pool_size????????????/**/
          ???????????????innodb_log_file_size???????????????????????????????????/*日志文件的大小,一般設置為主存的25%*/
          ???????????????innodb_log_buffer_size???????????????????????????????/**/
          ???????????????innodb_flush_log_at_trx_commit???????????????/*事務*/
          ????????????具體設置如下:
          ????????????
          ????????????[mysqld]
          ????????????basedir=C:/mysql
          ????????????#bind-address=192.168.1.8
          ????????????datadir=C:/mysql/data
          ????????????innodb_data_file_path = /ibdata2:100M:autoextend:max:2000M
          ????????????set-variable = innodb_buffer_pool_size=200M
          ????????????set-variable = innodb_additional_mem_pool_size=15M

          ????????????set-variable = innodb_log_file_size=50M
          ????????????set-variable = innodb_log_buffer_size=10M
          ????????????innodb_flush_log_at_trx_commit=1
          ????????????#language=C:/mysql/share/your language directory
          ????????????#slow query log#=
          ????????????#tmpdir#=
          ????????????#port=3306
          ????????????#set-variable=key_buffer=16M
          ????????????[WinMySQLadmin]
          ????????????Server=C:/mysql/bin/mysqld-nt.exe
          ????????????user=zhangxl
          ????????????password=zhangxl

          ?????????解釋:ibdata2為自定義的數據文件名稱。在默認情況下,系統將自動創建ibdata0和ibdata1,這兩個文件是mysql安裝后自帶的。因此,如果用戶想以這兩個文件作為設置的數據文件,首先要刪除他們以及其他的3個日志文件,否則在使用mysql-max --console時會提示數據庫創建失敗。提醒一點的是,在刪除文件之前一定要先停止mysql服務,在dos下執行net stop mysql即可,然后備份數據文件和日志文件,防止mysql啟動失敗,以備恢復。
          ??????InnoDB 不會自己建立目錄,必須自己使用操作系統命令建立相應的目錄。檢查你的 MySQL 服務程序在 datadir 目錄里 有足夠的權限建立文件。
          ???這里沒有設置innodb_data_home_dir參數,在默認情況下,mysql自動會指向/mysql/data目錄 ,innodb_data_file_path 可以設置多個數據庫文件,在本例中只設置一個,同時還可以通過autoextend屬性把數據文件設為可擴展的,通過max屬性設置最后一個數據文件的最大值,在windows下一般為2G。
          ??????步驟3:通過命令net start mysql啟動mysql,然后執行命令mysql-max --console命令。
          ??????執行完上一步操作后,進入mysql安裝目錄的/data目錄下可以看到生成的數據文件和日志文件。
          ??????參考:
          ??????http://dev.mysql.com/doc/refman/5.0/en/error-creating-innodb.html
          ??????http://man.chinaunix.net/database/mysql/inonodb_zh/
          posted on 2006-04-11 00:13 zhangxl 閱讀(2638) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆分類(17)

          隨筆檔案(28)

          文章分類(30)

          文章檔案(30)

          相冊

          收藏夾(2)

          hibernate

          java基礎

          mysql

          xml

          關注

          壓力測試

          算法

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 96363
          • 排名 - 601

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 巴林右旗| 台湾省| 南康市| 临桂县| 阜城县| 兴海县| 徐州市| 宝兴县| 荆州市| 星子县| 睢宁县| 蓝田县| 商水县| 汝州市| 宣化县| 墨玉县| 鸡西市| 商都县| 千阳县| 天镇县| 田阳县| 阜新市| 囊谦县| 桦南县| 中方县| 定兴县| 法库县| 黄冈市| 柳州市| 牟定县| 甘肃省| 当雄县| 富川| 恭城| 外汇| 太保市| 梓潼县| 宝兴县| 宝应县| 北川| 邵阳市|