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包)