mariadb10 java包_编译安装MariaDB-10.0.21
一、源碼編譯安裝gcc-5.1.0
1、下載gcc源碼包
2、解壓壓縮包
3、下載編譯所需的依賴包
這個步驟有兩種方式完成:
a) 如果Linux有網絡連接,直接這樣:
b) 如果Linux沒有網絡連接(我主機和虛擬機是Host-only,不能聯網,所以另外想辦法),則用Windows上網下載這幾個包:
ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2
http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz
然后解壓并移動到gcc-4.8.1下面:
tar -xjf gmp-4.3.2.tar.bz2
tar -xjf mpfr-2.4.2.tar.bz2
tar -xzf mpc-0.8.1.tar.gz
mv gmp-4.3.2 gcc-4.8.1/gmp
mv mpfr-2.4.2 gcc-4.8.1/mpfr
mv mpc-0.8.1 gcc-4.8.1/mpc
這樣的做法好處是,不用單獨編譯gmp、mpfr和mpc三個包,放在gcc源碼下面一起編譯(事實上這也是gcc-4.8.1/contrib/download_prerequisites腳本的做法,個人感覺更簡潔些)。我在編譯是選擇了第一種方法,第二種方法到底咋樣本人沒有實驗過。
4、編譯安裝gcc
編譯參數說明:
--prefix=/usr/local/ ? 指定安裝路徑
--enable-bootstrap ?這里引用網上一些文獻對該參數的解釋:用第一次編譯生成的程序進行第二次編譯,然后用再次生成的程序進行第三次編譯,并且檢查比較第二次和第三次結果的正確性,也就是進行冗余的編譯檢查工作。?非交叉編譯環境下,默認已經將該值設為 enable,可以不用顯示指定;交叉編譯環境下,需要顯示將其值設為 disable。
--enable-checking=release ?以軟件發布版的標準來對編譯時生成的代碼進行一致性檢查;設置該選項為 enable并不會改變編譯器生成的二進制結果,但是會導致編譯的時間增加;該選項僅支持gcc編譯器;?總體而言,對于上面這個選項,機器的硬件配置較低,以及不愿等待太久編譯時間的童鞋,可以設置為 disable;但是這會增加產生未預期的錯誤的風險,所以應該慎用。?可以同時設置 --disable-bootstrap 與 ?--disable-checking,這對編譯過程的提速很有幫助。
--enable-threads=posix ? 顧名思義,啟用posix標準的線程支持 ,要讓程序能在符合POSIX規范的linux發布版上正確運行,就應該啟用該選項,取決于宿主或目標操作系統的類型,其它可用值有:aix,dec,solaris,win32等,如果你是其它的類UNIX系統,就需要設置相應的值。
--enable-languages=c,c++ ??支持的高級語言類型和運行時庫,可以設置的所有語言包括 ada,c,c++,Fortran,java,objc,obj-c++,GO 等語言。這里只開啟了c和c++,因為支持的語言越多,就需要安裝越多的相應靜態與動態庫,還有五花八門的依賴庫,這會讓管理變得困難,體積也會變得龐大。
--disable-multilib ? ?如果你的操作系統是32位,默認就已經設置為 disable,這意味著gcc僅能生成32位的可執行程序;如果你的操作系統是64位,默認就已經設置為 enable,這意味著用gcc編譯其它源文件時可以通過 -m32 選項來決定是否生成32位機器代碼。如果在64位系統上,要禁止生成32位代碼, 設置 --disable-multilib。
--enable-gather-detailed-mem-stats ?允許收集詳細的內存使用信息,如果設置該參數為 enable,則將來編譯好的gcc可執行程序,可以通過 -fmem-report 選項來輸出編譯其它程序時的實時內存使用情況。
--with-long-double-128 ?指定 long double 類型為128位(16字節!);設置為 without,則 long double類型將為64位(8字節),這將與普通的 double 類型一樣。?基于 Glib 2.4以上版本編譯時,默認已經是128位。
5、后續操作
導出環境變量:
導出頭文件:
導出庫文件:
二、源碼編譯MariaDB
為啥開頭要安裝gcc-5.1,就是因為我在第一次編譯mariadb時,到make的時候報錯,在網上找到的這么一句哈:
MariaDB is a community-developed fork and a drop-in replacement for the MySQL relational database management system.
This package is known to build and work properly using an LFS-7.7 platform.
This package is known to build and work properly using the gcc-5 compiler.
MariaDB是一個由社區開發的叉和MySQL的替代關系數據庫管理系統。
這個包是構建和使用lfs - 7.7平臺正常工作。
這個包是構建和使用gcc-5編譯器正常工作。
1、創建數據存放目錄
2、創建mysql用戶
3、安裝mariadb
4、參數說明
# 安裝根目錄
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
# 數據存儲目錄
-DMYSQL_DATADIR=/data/mydata
# UNIX socket文件
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
# 配置文件(my.cnf)目錄
-DSYSCONFDIR=/etc
# 默認字符集
-DDEFAULT_CHARSET=utf8
# 默認字符校對
-DDEFAULT_COLLATION=utf8_general_ci
# TCP/IP端口
-DMYSQL_TCP_PORT=3306
# * ARCHIVE 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1
# * ARIA 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1
# * BLACKHOLE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
# * FEDERATEDX 引擎支持
-DWITH_FEDERATEDX_STORAGE_ENGINE=1
# * PARTITION 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1
# * PERFSCHEMA 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
# * SPHINX 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1
# * XTRADB 支持
-DWITH_XTRADB_STORAGE_ENGINE=1
# * innoDB 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
# * Myisam 引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1
# readline庫
-DWITH_READLINE=1
# 啟用加載本地數據
-DENABLED_LOCAL_INFILE=1
# 擴展支持編碼 ( all | utf8,gbk,gb2312 | none )
-DWITH_EXTRA_CHARSETS=all
# 擴展字符支持
-DEXTRA_CHARSETS=all
# 系統傳輸使用SSL加密
-DWITH_SSL=system
#?系統傳輸使用zlib壓縮,節約帶寬
-DWITH_ZLIB=system
# libwrap庫
-DWITH_LIBWRAP=0
# 運行用戶
-DMYSQL_USER=mysql
# 調試模式
-DWITH_DEBUG=0
5、編譯引擎選項說明
默認編譯的存儲引擎包括:csv、myisam、myisammrg和heap。若要安裝其它存儲引擎,可以使用類似如下編譯選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明確指定不編譯某存儲引擎,可以使用類似如下的選項:
-DWITHOUT__STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
6、編譯時錯誤解決方法
重新編譯時,需要清除舊的對象文件和緩存信息。
#make clean
#rm -f CMakeCache.txt
#rm -rf /etc/my.cnf
錯誤:Curses library not found. ?Please install appropriate package,
解決方案:
先安裝 ncurses-devel 包
yum install ncurses-devel
再刪除剛才編譯生成的 CMakeCache.txt 文件
rm CMakeCache.txt
再次執行一次cmake ...
一般都可以順利安裝的。
7、配置MariaDB
初始化數據庫:
設置配置文件:
設置啟動腳本:
啟動服務:
導出環境變量:
導出頭文件:
導出庫文件:
設置數據庫用戶密碼:
使用mysql_secure_installation這個腳本來進行安全配置:
現mysql不輸入用戶名密碼直接登錄數據庫
8、小技巧
由于make時間較久,一般可以使用-j 選項在加CPU核心說就能加速,下面就是自動查看當前系統CPU核心并根據核心數進行編譯。
[ "`cat /proc/cpuinfo |grep 'processor'|wc -l`" = "1" ] && make
[ "`cat /proc/cpuinfo |grep 'processor'|wc -l`" != "1" ] && make -j`cat /proc/cpuinfo |grep 'processor'|wc -l`
總結
以上是生活随笔為你收集整理的mariadb10 java包_编译安装MariaDB-10.0.21的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tcp有限状态机分析
- 下一篇: Exynos4412 ADC 设备驱动开