CentOS 6编译安装MariaDB 10.2.9

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品

一 部署环境

1.系统版本和内核

[root@localhost ~]# cat /etc/centos-release   
CentOS release 6.9 (Final)  
[root@localhost ~]# uname -r  
2.6.32-696.el6.x86_64

2.编译安装MariaDB时需要包组 “Development tools” 和”Server Platform Development”,用yum安装即可,此外还需要cmake,用yum安装即可

[root@localhost ~]# yum groupinstall "Development tools" "Server Platform Development" -y
[root@localhost ~]# yum install cmake -y

3.创建数据库用户和组

[root@localhost ~]# groupadd -r -g 306 mysql
[root@localhost ~]# useradd -r -g 306 -u 306 -s /sbin/nologin -M mysql
[root@localhost ~]# id mysql
uid=306(mysql) gid=306(mysql) groups=306(mysql)

4.创建数据库数据存放目录及赋予权限

[root@localhost ~]# mkdir -p /data/mysql
[root@localhost ~]# chown -R mysql:mysql /data/mysql
[root@localhost ~]# ls -ld /data/mysql
drwxr-xr-x 2 mysql mysql 4096 Oct 16 00:20 /data/mysql

二 编译安装MariaDB

[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.2.9/source/mariadb-10.2.9.tar.gz
[root@localhost ~]# tar xf mariadb-10.2.9.tar.gz -C /usr/local/src
[root@localhost ~]# cd /usr/local/src/mariadb-10.2.9
[root@localhost mariadb-10.2.9]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql \
> -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system \
> -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

其中,上述选项含义如下

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 安装路径
-DMYSQL_DATADIR=/data/mysql 数据库存放目录
-DSYSCONFDIR=/etc 配置文件(my.cnf)目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock UNIX socket文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 innoDB 引擎支持
-DWITH_READLINE=1 readline库
-DWITH_ARCHIVE_STORAGE_ENGINE=1 ARCHIVE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 BLACKHOLE 引擎支持
-DWITH_SSL=system 系统传输使用SSL加密
-DWITH_ZLIB=system 系统传输使用zlib压缩
-DWITH_LIBWRAP=0 libwrap库
-DDEFAULT_CHARSET=utf8 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 默认字符校对

[root@localhost mariadb-10.2.9]# make && make install

三 安装后的配置

1.导出二进制程序目录至PATH环境变量中

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

2.导出库文件路径

[root@localhost ~]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[root@localhost ~]# ldconfig 

3.导出头文件,可以基于链接的方式

[root@localhost ~]# ln -sv /usr/local/mysql/include /usr/include/mysql
`/usr/include/mysql' -> `/usr/local/mysql/include'

4.导出帮助手册
编辑man.config文件,找到 MANPATH /usr/X11R6/man 这一行,在下面添加如下一行

[root@localhost ~]# vim /etc/man.config 
MANPATH /usr/local/mysql/man

5.配置MariaDB

[root@localhost ~]# mkdir /etc/mysql
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

在/etc/mysql/my.cnf文件中找到【mysqld】,在后面添加如下三行

[root@localhost mysql]# vim /etc/mysql/my.cnf 
[mysqld]
......(省略)
datadir = /data/mysql
innodb_file_per_table = on
skip_name_resolve = on

6.创建MariaDB服务脚本并加入开机自启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig --add mysql
[root@localhost mysql]# chkconfig mysql on 
[root@localhost mysql]# chkconfig --list mysql
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

7.初始化数据库

[root@localhost mysql]# chown -R mysql:mysql ./*
[root@localhost mysql]# scripts/mysql_install_db --datadir=/data/mysql --user=mysql
[root@localhost mysql]# ls /data/mysql/
aria_log.00000001  ib_buffer_pool  ib_logfile0  mysql             mysql-bin.index  performance_schema
aria_log_control   ibdata1         ib_logfile1  mysql-bin.000001  mysql-bin.state  test

8.启动MariaDB

[root@localhost ~]# service mysql start
[root@localhost ~]# ss -tunl | grep 3306
tcp    LISTEN     0      80                    :::3306                 :::*   
[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.9-MariaDB-log Source distribution

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye
### CentOS 7 编译安装 MariaDB 教程 #### 准备工作 为了确保编译环境的完备,在开始之前需要确认开发工具链以及依赖库已经就绪。可以通过如下命令来安装必要的包: ```bash sudo yum groupinstall "Development Tools" sudo yum install cmake bison ncurses-devel openssl-devel curl-devel libjpeg-devel zlib-devel gcc-c++ boost-devel perl-Data-Dumper ``` #### 下载源码 前往官方站点获取最新版本的MariaDB压缩包,这里假设下载的是`mariadb-5.5.36.tar.gz`。 ```bash wget https://downloads.mariadb.org/f/mariadb-5.5.36/kvm-tarbake-jaunty-x86/source/mariadb-5.5.36.tar.gz tar xf mariadb-5.5.36.tar.gz cd mariadb-5.5.36 ``` #### 配置编译选项 通过CMake配置编译参数,指定安装路径和其他特性设置。下面是一个典型的配置实例[^4]: ```bash cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/mydata/data/ \ -DINSTALL_MANDIR=\/usr\/share\/man \ -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 ``` > **注意**: 如果遇到任何错误提示缺少某些文件或目录不存在的情况,则可能是因为系统预装了较低版本的MySQL/MariaDB组件,建议先清理这些旧版残留再继续操作[^3]。 #### 执行编译过程并完成安装 一旦上述准备工作顺利完成之后就可以正式进入编译环节了。这一步骤可能会花费一些时间取决于机器性能状况。 ```bash make && make install ``` #### 初始化数据库 创建数据存储位置,并初始化MariaDB的数据表结构。 ```bash mkdir -p /mydata/data/ /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data --user=mysql chown -R mysql:mysql /mydata/data/ ``` #### 启动服务与安全加固 启动MariaDB服务器进程,并按照指引修改默认密码等安全性措施。 ```bash cp support-files/mysql.server /etc/init.d/mysql service mysql start /usr/local/mysql/bin/mysql_secure_installation ``` 以上就是在CentOS 7平台上从零开始编译部署MariaDB的具体流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值