Linux 下编译安装MariaDB

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代,MariaDB的诞生正是出自MySQL创始人Michael Widenius之手,命名的来源是他女儿的名字Maria,因为之前他把MySQL卖给sun公司,而sun又被oracle收购,所以MySQL也属于oracle所有,因此存在闭源的风险;而Michael Widenius开发的MariaDB作为MySQL的开源分支,很好的避免的这个潜在的问题,所以MariaDB成为了MySQL未来的替代,很多厂商也越来越关注MariaDB,并且MariaDB在很多方面的性能也要强过MySQL,像目前Windows桌面的php集成开发环境比如xampp还有linux和lnmp环境都采用MariaDB作为默认的数据库,所以从MySQL转向MariaDB也是一种趋势

    使用MariaDB的第一步是要部署在操作系统,现在开始在Linux上用编译源码的方式来安装MariaDB

首先去MariaDB官网下载安装包,首页是:https://mariadb.org/


安装MariaDB之前,首先要安装cmake,另外为了保证不缺依赖,使用yum或者rpm安装依赖:readline-devel,zlib-devel,openssl-devel,libaio-devel并且readline-devel依赖于ncurses-devel,如果使用yum的话会自动将所需依赖安装好,具体命令如下:

       yum -y install readline-devel
       yum -y install zlib-devel
       yum -y install openssl-devel
       yum -y install libaio-devel 

      yum -y install bison   (通用解析器生成器)

     yum -y install gcc

     yum -y install gcc-c++

       yum -y install ncurses-devel

       yum -y install -y cmake

openssl-devel : OpenSSL是一个支持加密的工具包。 openssl-devel软件包包含开发应用程序所需的包含文件支持各种加密算法和协议。

说明:make 与 cmake配置选项比较。

./configure  
cmake .
检查配置选项,生成编译配置文件
./configure --help cmake . -LH 或 ccmake . 查看配置选项
make clean rm CMakeCache.txt 清理此前的编译状态

这里提前预定mysql的安装目录为/usr/local/mysql并且数据目录为/mydata/data (数据文件分开存放),这里要建立用户和目录,并且赋予mysql用户权限,操作如下:

        groupadd -g 306 -r mysql
        useradd -g 306 -u 306 -r mysql -s /sbin/nologin 
        mkdir /mydata/data (可以使用单独的一块盘,做出逻辑卷,挂载至/mydata目录下)
        chown mysql:mysql -R /mydata/data

现在可以开始安装了,解压安装包,并进入目录:
        tar -xvzf mariadb-10.1.18.tar.gz
        cd mariadb-10.1.21

        cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci


参数说明

# 安装根目录

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

# 数据存储目录

-DMYSQL_DATADIR=/mydata/data

# 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 引擎

cmake没问题,可以编译并且安装了: make && make install 时间有点长,耐心等待

执行完成也就是安装完成了,现在执行 cd /usr/local/mysql/ 进入mysql安装目录分别执行下面命令:

chown -R root:mysql ./*

安装完成之后要做以下几步:

    一、Mysql数据库初始化:mysql_install_db
        
    获取帮助:scripts/mysql_install_db --help (只能在这个目录执行)
                           scripts/mysql_install_db --datadir=/mydata/data --user=mysql
                
二、拷贝Mysql启动脚本:
                            cp support-files/mysql.server /etc/init.d/mysqld 
                            chkconfig --addmysqld
                            chkconfig mysqldon
                
三、拷贝Mysql配置文件并添加必要的选项:

                mysql的配置文件格式:

                 类ini格式,为各程序均通过单个配置文件提供配置信息

                INI文件由节、键、值组成。

                节

                [section]

            参数

                (键=值)

                name=value


                配置文件的查找顺序:

                /etc/my.cnf ---> /etc/mysql/my.cnf ---> --default-extra-file=/PATH/TO/CONNF_FILE --->~/.my.cnf (当前用户家目录下的配置文件)

               如果某个配置在多个配置文件中,最后找到的生效

                             cp support-files/my-large.cnf /etc/mysql/my.cnf 
                              
在节[mysqld]添加如下选项:
                              datadir = /mydata/data
                               innodb_file_per_table = on
                               skip_name_resolve = on
                
四、Mysql数据库安全初始化:mysql_secure_installation
           
     为所有root用户设置密码,删除匿名用户,禁止root远程登陆等等...
               
五、配置环境变量
                       vim /etc/profile.d/mysql.sh 
(新建)
                   
添加:
                       exportPATH=/usr/local/mysql/bin:${PATH}

安装完成了!




本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/1904540,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
关系型数据库 MySQL Linux
Linux(centos 7.5)服务器安装MariaDB
Linux(centos 7.5)服务器安装MariaDB
152 0
|
6月前
|
Linux 开发工具 git
【git】linux 编译安装最新版git
【git】linux 编译安装最新版git
44 0
|
13天前
|
关系型数据库 Linux PHP
linux 编译安装php7.2 实测!!
linux 编译安装php7.2 实测!!
10 0
|
7月前
|
关系型数据库 Linux 网络安全
Linux系统下安装mariaDB数据库及防火墙
Linux系统下安装mariaDB数据库及防火墙
114 0
|
8月前
|
运维 负载均衡 关系型数据库
【运维知识进阶篇】用Ansible Roles重构LNMP架构(Linux+Nginx+Mariadb+PHP),实现4个项目一键部署
【运维知识进阶篇】用Ansible Roles重构LNMP架构(Linux+Nginx+Mariadb+PHP),实现4个项目一键部署
112 0
|
4月前
|
缓存 关系型数据库 Linux
linux(三十八)编译安装软件与使用yum源安装软件
linux(三十八)编译安装软件与使用yum源安装软件
56 0
|
7月前
|
Linux 编译器 C语言
Linux下编译安装最新版gcc
Linux下如何自行升级到最新版的gcc
130 0
|
7月前
|
Linux C语言
实验:CentOS 7 编译安装最新版内核 Linux Kernel 6.5.2
CentOS 7 编译安装最新版内核 Linux Kernel 6.5.2
442 0
|
关系型数据库 MySQL Linux
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?
|
8月前
|
Linux
linux 手动编译安装 pkg-config 步骤
linux 手动编译安装 pkg-config 步骤