MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
它的安装方法和mysql类似,首先我们先下载
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
[root@linletao-001 ~]# 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
--2018-04-09 22:14:30-- 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
正在解析主机 downloads.mariadb.com (downloads.mariadb.com)... 51.255.94.155, 2001:41d0:1004:249b::
正在连接 downloads.mariadb.com (downloads.mariadb.com)|51.255.94.155|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:541295045 (516M) [application/octet-stream]
正在保存至: “mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz”
100%[===========================================================================================================================>] 541,295,045 1.08MB/s 用时 14m 10s
2018-04-09 22:28:44 (622 KB/s) - 已保存 “mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz” [541295045/541295045])
然后解压
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
然后我们将解压后的文件mariadb-10.2.6-linux-glibc_214-x86_64放到/usr/local下,为了和mysql区分,我们将它的名字改为mariadb
[root@linletao-001 src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
然后进入到目录中去,[root@linletao-001 src]#cd /usr/local/mariadb
创建data/mariadb,
它同样也是mysql的用户,user=mysql
然后我们初始化
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
初始化完后我们用echo $?来查看命令是否运行成功
[root@linletao-001 mariadb]# echo $?
0
结果没问题
我们也可以去查看/date/mariadb目录下是否有文件生成
[root@linletao-001 mariadb]# ls /data/mariadb
aria_log.00000001 aria_log_control ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test
这样就成功了。
下面我们去复制配置文件,我们先查询一下support-files(配置文件)这下面的文件
[root@linletao-001 mariadb]# ls support-files/
binary-configure my-huge.cnf my-large.cnf my-small.cnf mysql-log-rotate policy wsrep_notify
magic my-innodb-heavy-4G.cnf my-medium.cnf mysqld_multi.server mysql.server wsrep.cnf
可以发现。在support-files有多个范本,他们的不通在于可以根据你的内存选在合适大小的缓存。
我们选择其中一个复制,为了和mysqld区分,我们将他放在/usr/local/mariadb/my.cnf下。
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
然后我们复制一个启动脚本
cp support-files/mysql.server /etc/init.d/mariadb
然后我们编辑一下配置文件和启动脚本
编辑配置文件
[root@linletao-001 mariadb]# vim /usr/local/mariadb/my.cnf
进入后我们着重注意一下
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K
但是我们的/usr/local/mariadb/my.cnf基本上不用改,我们着重要改的是启动脚本
编辑启动脚本
[root@linletao-001 mariadb]# vim /etc/init.d/mariadb
这里我们要将basedir和datadir都更改一下
basedir=/usr/local/mariadb
datadir=/data/mariadb
然后再他们的下面我们也要加一个自定义的参数conf,来指定他的配置文件所在路径
conf=$basedir/my.cnf
虽然我们指定了conf=$basedir/my.cnf,但也要在后面启动命令下面指定一下
在vim下搜索start,找到启动脚本的区域
‘start‘)
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n "Starting MySQL"
if test -x $bindir/mysqld_safe
then
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --defaults-file=“$conf”--datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
黑体字就是我们刚加上去的。然后保存退出。
然后我们就可以启动他了,在启动前我们要先看一下mysqld是否启动,因为他们监听的端口是一样的,如果启动了,他们之间会有冲突。
我们需要注 注意的是,my.cnf最好将名字改一下,如果不改mariadb在启动时会报错
启动mariadb
[root@linletao-001 mariadb]# /etc/init.d/mariadb start
首先我们先去下载Apache的源码包
我们可以去Apache官网www.apache.org下载源码包
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.33.tar.gz
[root@linletao-001 src]# wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.33.tar.gz
--2018-04-03 20:58:14-- http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.33.tar.gz
正在解析主机 mirrors.hust.edu.cn (mirrors.hust.edu.cn)... 202.114.18.160
正在连接 mirrors.hust.edu.cn (mirrors.hust.edu.cn)|202.114.18.160|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9076901 (8.7M) [application/octet-stream]
正在保存至: “httpd-2.4.33.tar.gz”
100%[===========================================================================================================================>] 9,076,901 338KB/s 用时 24s
2018-04-03 20:58:39 (363 KB/s) - 已保存 “httpd-2.4.33.tar.gz” [9076901/9076901])
这样,Apache就下载好了,然后我们解压缩这个包
[root@linletao-001 httpd-2.4.33]# tar zxvf httpd-2.4.33.tar.gz
解压完后,我们进入到源码包目录,查询一下它里面含有的文件。
[root@linletao-001 src]# cd httpd-2.4.33/
[root@linletao-001 httpd-2.4.33]# ls
ABOUT_APACHE ap.d CHANGES docs httpd.spec libhttpd.dep Makefile.win README srclib
acinclude.m4 build CMakeLists.txt emacs-style include libhttpd.dsp modules README.cmake support
Apache-apr2.dsw BuildAll.dsp config.layout httpd.dep INSTALL libhttpd.mak NOTICE README.platforms test
Apache.dsw BuildBin.dsp configure httpd.dsp InstallBin.dsp LICENSE NWGNUmakefile ROADMAP VERSIONING
apache_probes.d buildconf configure.in httpd.mak LAYOUT Makefile.in os server
如果我们什么都不知道,没有文档参考。那么我们可以看一下 INSTALL ,它里面有一些步骤可以帮助我们安装。
安装命令为
./configure \ //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
--prefix=/usr/local/apache2.4 \ (指定apache的安装路径)
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util (这里加上版本号)\
--enable-so \
--enable-mods-shared=most
make && make install
然后我们开始安装,在安装时我们会遇到报错,比如缺少apr和apr-util。apr和apr-util是apache安装依赖的两个包,他可以支持hpptd跨平台去运作,这两个我们需要自己去下载,下载的步骤和Apache一样。解压到指定文件夹,然后安装。
apr的解压和安装
解压:[root@linletao-001 apr]# tar zxvf aprapr-1.6.3.tar.gz
安装:[root@linletao-001 apr-1.6.3]# ./configure --prefix=/usr/local/apr
make && make install
apr-util-1.6.1的解压和安装
解压:[root@linletao-001 apr]# tar zxvf apr-util-1.6.1.tar.gz
安装:[root@linletao-001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr(这里我们要指定我们刚才安装的apr的路径)
make && make install
然后我们查看它是否已经启动,我们可以用ps命令和nststat查看80端口这两个命令来查看。
我们先用ps名命令查看。
[root@linletao-001 bin]# ps aux|grep httpd
root 23001 0.0 0.2 95252 2516 ? Rs 23:15 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 23002 0.0 0.4 382080 4424 ? Sl 23:15 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 23003 0.0 0.4 382080 4424 ? Sl 23:15 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 23004 0.0 0.4 382080 4424 ? Sl 23:15 0:00 /usr/local/apache2.4/bin/httpd -k start
root 23137 0.0 0.0 112676 980 pts/0 R+ 23:25 0:00 grep --color=auto httpd
发现已经有恩多的httpd服务已经启动了
然偶我们再用netstat命令来查看它的80端口是否被监听
[root@linletao-001 bin]# netstat -lnp |grep httpd
tcp6 0 0 :::80 :::* LISTEN 23001/httpd
80端口已经被监听
常用的参数
/usr/local/apache2.4/bin/httpd -M(查看加载的模块)
这里举两个例子,我们可以看到,在加载的模块中有的以(static)结尾,有的以(shared)结尾。
mpm_event_module (static)(静态加载)
authn_file_module (shared)(动态加载)
[root@linletao-001 bin]# /usr/local/apache2.4/bin/httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c
event.c
列出静态加载的模块
重启
/usr/local/apache2.4/bin/apachectl restart
停止
/usr/local/apache2.4/bin/apachectl stop
启动
/usr/local/apache2.4/bin/apachectl start
查看语法错误
[root@linletao-001 ~]# /usr/local/apache2.4/bin/httpd -t
Syntax OK
出现这个就代表语法是对的,这里的语法没有错误。如果有错,就会显示一些错误文件。
原文地址:http://blog.51cto.com/13067688/2096691