Linux 下编译安装MariaDB

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,如需转载请自行联系原作者

你可能感兴趣的:(运维,数据库,操作系统)