歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> MySQL在Red Hat 7.0上的BDB表配置

MySQL在Red Hat 7.0上的BDB表配置

日期:2017/2/27 14:15:31   编辑:更多Linux
  注意:本文還處於Beta版本!    很多人對於mysql一個最大的誤解就是MySQL的事務處理功能。    從MySQL 3.23開始,就開始支持BDB表類型,但是需要首先編譯BDB支持,而在Red Hat 7.0上的編譯,一直存在問題。就是看上去編譯成功,    > show table status    也顯示表類型為BDB,但是如果使用begin語句,定義事務的話,接下來的rollback語句卻不能回滾事務。    筆者在實踐中總結出的結論就是,需要安裝RH7.0中的db*devel.rpm包,我們知道RPM 4以上的版本采用了最新的BDB db3格式來存儲軟件包信息,而BDB數據庫包在有些庫函數上是和這些軟件是相關的,因此,我們懷疑這個問題和RH7中BDB相關的包有關。果然,在我們安裝完db1-devel.rpm和db3-devel.rpm以後,重新編譯 MySQL,事務處理就正常了。    首先編譯BDB(下載的版本是MySQL網站上的db3.2.9h.tar.gz,直接從Berkeyley DB網站上下載的軟件包是不能使用的,編譯MySQL時會出錯):    cd build-unix    ../dist/configure    make    make install    然後編譯 MySQL:    ./configure --prefix=/usr/local/mysql --with-berkeley-db=/usr/local/BerkeyleyDB3.2 --with-tcp-port=9999 --withmysqld-user=mysql --with-charset=gb2312 --with-extra-charsets=latin1    需要說明的是,MySQL從3.23.35開始內置了BDB,因此,我們可以省去前面編譯BDB的過程,但是需要在編譯MySQL時要把--with-berkeley-db部分改為:    --with-berkeley-db=./bdb    同時,從這個版本開始,還支持Innobase,另外一種支持事務處理的數據庫類型。我們只要在 my.cnf 中指定:    ..    就可以使用 innobase 類型的數據庫了。    從配置的過程看上去很像Sybase等大型數據庫了。    看樣子,MySQL會在功能上走得更遠。




Copyright © Linux教程網 All Rights Reserved