cmake编译python源码-从源码包编译并安装mariaDB

前言

MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,因其体积小、速度快、总拥有成本低而受欢迎cmake编译python源码,而且之前完全开源。 但因为MySQL早先借给了SUN,后来SUN又被Oracle竞购。 虽然也有开源免费版本,但很多功能需要购买商业版本,这也逐渐减少了如今MySQL的使用量。 因此,MariaDB因这些激励而诞生,并成为数据库管理系统cmake编译python源码,是MySQL的一个分支。

我已经使用二进制安装了 mariaDB(详细信息请参阅它)。 下面将介绍如何使用源码包编译安装mariaDB10。

源码编译安装mariaDB

1、安装前应注意的事项

从mysql 5.5开始,包括、编译、安装项目代码管理不再使用make,而是使用cmake。 所以如果我们要编译安装mariadb,第一步就是准备开发环境,安装cmake(cmake默认是不安装的)

2、编译前做好工作计划

2.1. 将 mariadb-10.0.12.tar.gz 复制到服务器

2.2. 安装开发库

[root@localhost yum.repos.d]# yum -y groupinstall Development tools

2.3. 准备epel的yum源

[root@localhost ~]# vim /etc/yum.repos.d/epel.repo
[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=0

3.准备依赖库及相关包

3.1. 安装Judy开发库(Judy-devel)

备注:编译其中一个OQGraph需要依赖此开发包。 安装Judy-devel的yum源使用的是epel源,所以先配置epel源。

[root@localhost mariadb-10.0.12]# yum install Judy-devel –y

3.2. 安装cmake

[root@localhost yum.repos.d]# yum install cmake -y

3.3. 安装ncurses开发包

[root@localhost mariadb-10.0.12]# yum install ncurses-devel –y

3.4. 安装libxml2开发包

后续编译需要使用

[root@localhost mariadb-10.0.12]# yum install libxml2-devel -y

3.5. 安装boost开发包

[root@localhost ~]# yum install boost-devel –y

3.6. 安装 openssl-devel

[root@localhost ~]# yum install openssl-devel

4、编译mariadb之前的工作计划

4.1. 解压 mariadb-10.0.12

[root@localhost ~]# tar xf mariadb-10.0.12.tar.gz

4.2. 添加用户

[root@localhost ~]# useradd -r mysql

4.3. 创建数据目录

[root@localhost ~]# mkdir /mydata/data –pv
[root@localhost ~]# chown -R mysql.mysql /mydata/data/

4.4、查看帮助文档

[root@localhost ~]# cd mariadb-10.0.12
[root@localhost mariadb-10.0.12]# cmake . -LH

五、编译安装mariadb

5.1、编译安装,并指定相应的参数设置

[root@localhost ~]# cd mariadb-10.0.12
[root@localhost mariadb-10.0.12]# cmake -DBoost_NO_BOOST_CMAKE=TRUE
[root@localhost mariadb-10.0.12]# cmake . -DMYSQL_DATADIR=/mydata/data -DWITH_SSL=system -DWITH_SPHINX_STORAGE_ENGINE=1
# -DMYSQL_DATADIR=/mydata/data 指定存放数据目录路径
# -DWITH_SSL=system 指定支持ssl连接
# -DWITH_SPHINX_STORAGE_ENGINE=1  指定支持SPHINX存储引擎

[root@localhost mariadb-10.0.12]# make
[root@localhost mariadb-10.0.12]# make install

备注 如果编译前未安装依赖库或开发库,请先完成安装,然后删除安装包,重新解压并执行编译操作。

5.2. 创建并生成服务文件

[root@localhost mariadb-10.0.12]# cd /usr/local/mysql/
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

5.3. 复制并更改服务配置文件

[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]    #在此组字段下添加
datadir = /mydata/data

5.4. 初始化mysql

[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

6.Mariadb安装完成后,设置

6.1、启动服务

[root@localhost mysql]# service mysqld start

6.2. 设置开机时手动启动

[root@localhost ~]# chkconfig mysqld on

6.3. 将 mysql 命令添加到 PATH 变量

[root@localhost ~]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

6.4、让文件中的配置内容生效

[root@localhost ~]# . /etc/profile.d/mysql.sh

七、使用客户端测试

[root@localhost local]# /usr/local/mysql/bin/mysql
MariaDB [(none)]> SHOW ENGINES;   #查看支持的存储引擎

注意:如果没有将mysql命令添加到PATH变量中,可以使用usr/local/mysql/bin/mysql来打开mysql命令

至此,mariaDB源码包的编译和安装就完成了。

之前编译安装时遇到的问题总结

1、执行cmake时,提示“cmake error_C_COMPILER”,以下是部分错误信息

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.

解决方案

安装开发工具Development tools

[root@localhost mariadb-10.0.12]# yum groupinstall "Development tools"

2、编译时出错,报“CMake Error at cmake/ssl.cmake”。 以下是错误信息的部分内容

CMake Error at cmake/ssl.cmake:162 (FILE):
file STRINGS file
"/root/mariadb-10.0.12/OPENSSL_INCLUDE_DIR-NOTFOUND/openssl/opensslv.h" cannot be read.

解决方案

这是因为我们有一个文件需要在多次运行cmake后删除,删除当前目录下的CMakeCache.txt文件并重新编译,再次运行cmake命令就可以正常了!

[root@localhost mariadb-10.0.12]# rm -f CMakeCache.txt
[root@localhost mariadb-10.0.12]# yum install ncurses-devel –y

3.编译晨报错误“Could NOT find Boost”,以下是部分错误信息

-- Configuring OQGraph
-- Could NOT find Boost
-- Boost not found. OQGraph will not be compiled

解决方案

只需安装boost开发包即可

[root@localhost ~]# yum install boost-devel -y

4.编译早上报错“CMake Error at /usr/lib64/boost/Boost.cmake”,以下是部分错误信息

CMake Error at /usr/lib64/boost/Boost.cmake:536 (message):
  The imported target "boost_date_time-static" references the file
     "/usr/lib64/lib64/libboost_date_time.a"
  but this file does not exist.  Possible reasons include:

解决方案

在mariadb目录下执行以下命令

[root@localhost mariadb-10.0.12]#cmake -DBoost_NO_BOOST_CMAKE=TRUE

5、编译时出现“Could NOT find LibXml2”,以下是部分错误信息

-- CONNECT: GCC: Some warnings disabled
-- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)

解决方案

安装libxml2-devel开发包

[root@localhost mariadb-10.0.12]# yum install libxml2-devel

6.编译安装报错“Judy not found.OQGraph will not becompile”

解决方案

#首先先添加epel源
[root@localhost ~]# vim /etc/yum.repos.d/epel.repo
[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=0
#安装Judy-devel开发包
[root@localhost mariadb-10.0.12]# yum install Judy-devel

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 cmake编译python源码-从源码包编译并安装mariaDB https://www.wkzy.net/game/167587.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务