源码编译安装mariadb-5.5.48

源码编译安装mariadb-5.5.48

mariadb简介

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。

mysql自从5.5之后,编译安装项目代码管理不在使用make,而是用的是cmake。cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译,并且编译安装需要准备开发环境,cmake默认也是不安装。

编译安装maridb-5.5.48

准备工作

1、操作系统环境为centos-6.7

2、官网下载https://downloads.mariadb.org/mariadb/5.5.48/maridb-5.5.48.tar.gz

#wget https://downloads.mariadb.org/mariadb/5.5.48/maridb-5.5.48.tar.gz

3、准备epel源

#rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
#rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#yum makecache  #重建缓存

4、epel源yum安装开发环境组

#yum groupinstall "Development Tools" "Server Platform Development" "Server Platform" -y

5、epel源yum安装cmake(也可使用下载源码包编译安装,这里不做讲解)

# yum install cmake -y

一、cmake编译安装maridb-5.5.48

1、cmake常用编译配置

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

默认编译的存储引擎包括: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_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1

-DWITH_SSL=system

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0

其它常用的选项:

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DENABLED_LOCAL_INFILE=1

-DEXTRA_CHARSETS=all

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_DEBUG=0

-DENABLE_PROFILING=1

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

2、添加mysql用户及mysql组,创建数据目录/mydata/data并赋予mysql用户

# mkdir -pv /mydata/data
# groupadd -r mysql
# useradd -g mysql -r mysql
# chown -R mysql:mysql /mydata/data

3、解压编译安装

# tar xf mariadb-5.5.48.tar.gz -C /usr/local/
# cd /usr/local/mariadb-5.5.48
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.48 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# make 
# make install

4、创建链接至mysql,修改mysql目录下所有文件属组用户

#ln -sv /usr/local/mariadb-5.5.48 /usr/local/mysql
# cd mysql/
# chown root.mysql ./*

5、初始化数据库

# ./scripts/mysql_install_db  --user=mysql --datadir=/mydata/data

6、拷贝并修改服务配置文件

# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf 
[mysqld]    #在此组字段下添加
datadir = /mydata/data
thread_concurrency = 2  #设置核心数,根据实际情况设置
innodb_file_per_table = on  #启用独立表空间模式,每个表生成一个表空间
skip_name_resolve = on  #禁用域名反解析

7、创建服务文件并测试启动服务

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# service mysqld start

8、将mysql命令添加到PATH变量中并连接测试

# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
# chmod +x mysql.sh  添加执行权限
# . /etc/profile.d/mysql.sh   执行生效

时间: 2024-11-12 15:37:28

源码编译安装mariadb-5.5.48的相关文章

基于源码编译安装Mariadb实现多实例

准备环境: CentOS7.6mariadb-10.2.23.tar.gz源码包多实例目录结构: 编译安装 安装开发工具 yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel 准备用户

centos7源码编译安装mariadb

前提:1.干净的系统2.配置好yum源 首先安装依赖包yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel 做准备用户和数据目录 useradd –r –s /sbin/nologin

Linux学习之路--Mariadb(2)源码编译安装【19】---20180120

一.源码编译安装mariadb 生产环境中,大部分使用的都是二进制安装或者源码编译安装,yum安装很多要求和设置很繁琐,容易出现错误 此次源码编译安装需要先安装 cmake 1.准备cmake [[email protected]~]#rpm -q cmake package cmake is not installed [[email protected]~]#yum install cmake ..... ===========================================

源码编译安装mariadb-10.0.12数据库

源码安装mariadb-10.0.12 1.获取源码包 mariadb-10.0.12.tar.gz 2.编译环境准备 # yum groupinstall -y Development Tools # yum install -y ncurses-devel openssl-devel openssl 3.创建mysql用户 # groupadd mysql # useradd -s /sbin/nologin -g mysql -M mysql # id mysql uid=500(mysq

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装 扩展 mysql5.5源码编译安装

11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装   http://www.aminglinux.com/bbs/thread-1059-1-1.html mysql5.7二进制包安装(变化较大)  http://www.apelearn.com/bbs/thread-10105-1-1.html =====================================================

MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

MySQL源码编译安装(CentOS-6.6+MySQL-5.6) 部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机名:edu-mysql-01 配置:4核.4G内存 一.服务器配置: 1.配置网络 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=stati

CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站.博客.论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一. 部署方式 从网站规模大小(访问流量.注册用户等)角度来看,LNMP架构可以使用单机部署方式和集群部署方式.单机部

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载

源码编译安装 httpd2.4+MariaDB5.5+php5.4 全新的LAMP

操作环境: http主机,php主机,MariaDB主机,操作系统CentOS6.5 x86_64 全部安装包组:Development tools  ServerPlatform Development httpeth0 IP:172.16.32.11 MariaDBeth0 IP:172.16.32.10 phpeth0 IP:172.16.32.12 httpd2.4新特性:解释下面安装用到的几个 event不再是测试状态,而是可以直接编译进去,mpm模块可以动态装载卸载 分了多个配置文件