安装MariaDB和Apache
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装MariaDB和Apache相关的知识,希望对你有一定的参考价值。
一、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也是一种趋势。
1、下载二进制安装包
[[email protected] ~]# cd /usr/local/src/
[[email protected] src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
这种方式下载很慢,因为MariaDB的二进制包镜像源在国外地址,所以预先下载了该包到本地物理机,使用lrzsz
工具将该包上传至虚拟机/usr/local/src目录进行安装。
物理地址为(点击直接下载到物理机上,可使用下载工具下载):
https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
[[email protected] src]# yum install -y lrzsz //安装lrzsz包
[[email protected] src]# rz //跳出窗口,选择相应的文件上传
2、解压二进制安装包并移动至/usr/local下
[[email protected] src]# tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
[[email protected] src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
3、初始化,指定basedir和datadir
[[email protected] src]# cd ../mariadb/
[[email protected] mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb --datadir=/data/mariadb
4、拷贝配置文件并编辑(按服务器内存选择,这里测试选择my-small.cnf)
# 这里是实现mysql和mariadb同存于一个机器中的做法
# 如果你的主机内只有mariadb,那么直接复制到/etc命令下,命名为my.cnf也行;对于的basedir也同样修改即可
[[email protected] mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
[[email protected] mariadb]# vi my.cnf //指定basedir和datadir
5、拷贝启动脚本至/etc/init.d/目录下,并修改内容
[[email protected] mariadb]# cp support-files/mysql.server /etc/init.d/mariadb
[[email protected] mariadb]# vim /etc/init.d/mariadb //定义basedir,datadir,conf以及启动参数
并在下面启动项内添加--defaults-file选项加载指定的配置文件
修改好之后,保存并退出。
6、启动MariaDB
[[email protected] ~]# /etc/init.d/mariadb start
Starting mariadb (via systemctl): [ 确定 ]
[[email protected] ~]# netstat -lntp
二、apache安装
pache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache,Apache官网www.apache.org
1、下载所需源码包
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz //2.4源码包
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz //apr-1.6.3r包
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz //apr-util-1.6.1包
2、解压源码包
[[email protected] src]# tar zxvf httpd-2.4.28.tar.gz
[[email protected] src]# tar zxvf apr-1.6.3.tar.gz
[[email protected] src]# tar zxvf apr-util-1.6.1.tar.gz
3、安装源码包
a)安装apr包
[[email protected] src]# cd apr-1.6.3/ //进入到apr-1.6.3目录下
[[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apr //执行配置命令
执行之后回报错:
configure: error: in `/usr/local/src/apr-1.6.3‘:
configure: error: no acceptable C compiler found in $PATH
See `config.log‘ for more details
解决办法:安装gcc编译器
[[email protected] apr-1.6.3]# yum install -y gcc
[[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.6.3]# echo $?
0
安装好gcc之后,执行配置命令,然后进行编译安装:
[[email protected] apr-1.6.3]# make && make install
[[email protected] apr-1.6.3]# ls /usr/local/apr/
bin build-1 include lib
b)安装apr-unit包
[[email protected] apr-1.6.3]# cd ../apr-util-1.6.1
[[email protected] apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[[email protected] apr-util-1.6.1]# make && make install
在次过程中可能会出现这样的错误:
报错:
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
#include <expat.h>
^
编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/src/apr-util-1.6.0”
make: *** [all-recursive] 错误 1
解决方法:
[[email protected] apr-util-1.6.1]# yum -y install expat-devel
[[email protected] apr-util-1.6.1]# make && make install
[[email protected] apr-util-1.6.1]# echo $?
0
[[email protected] apr-util-1.6.1]# ls /usr/local/apr-util/
bin include lib
c)安装httpd
[[email protected] src]# cd httpd-2.4.29
[[email protected] httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
# 报错:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
# 说明:需要安装库文件pcre
# 解决办法:
[[email protected] httpd-2.4.29]# yum list |grep pcre //查看相关的包
# 请根据搜索的结果安装下面的包:
[[email protected] httpd-2.4.29]# yum install -y pcre-devel
[[email protected] httpd--2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[[email protected] httpd-2.4.29]# echo $?
0
# 编译和安装
[[email protected] httpd-2.4.29]# make
[[email protected] httpd-2.4.29]# make install
[[email protected] httpd-2.4.29]# echo $?
0
如果make编译的时候出现上述报错,可以把apr-util解压出来的的源码包删掉,然后在重新解压,并重新把apr-util编译安装一遍。
d)编译时,错误问题解决
1.安装libxml2-devel包
[[email protected] ~]# yum install -y libxml2-devel
2、删除apr-util安装目录,并重新编译安装
[[email protected] ~]# rm -rf /usr/local/apr-util
[[email protected] ~]# cd /usr/local/src/apr-util-1.6.1
# 这一步很重要,必须清除之前配置时的缓存
[[email protected] apr-util-1.6.1]# make clean
# 源码安装三步走
[root[email protected] apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[[email protected] apr-util-1.6.1]# make
[[email protected] apr-util-1.6.1]# make install
4、重新编译安装httpd
# 同样要清理之前的缓存十分重要
[[email protected] src]# cd /usr/local/src/httpd-2.4.28
[[email protected] httpd-2.4.29]# make clean
[[email protected] httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[[email protected] httpd-2.4.29]# make
# 这时make没报错了
[[email protected] httpd-2.4.29]# make install
4、启动apache
# 执行启动命令
[[email protected] apache2.4]# /usr/local/apache2.4/bin/apachectl start
# 查看是否启动
[[email protected] apache2.4]# ps aux |grep httpd
# 查看端口,80端口
[[email protected] apache2.4]# netstat -lntp
查看加载模块:
[[email protected] apache2.4]# /usr/local/apache2.4/bin/httpd -M
#或者用apachectl -M ,apachectl是一个shell文件,调用bin/httpd 可执行文件
以上是关于安装MariaDB和Apache的主要内容,如果未能解决你的问题,请参考以下文章