码迷,mamicode.com
首页 > 数据库 > 详细

2018-2-27 9周5次课MariaDB、Apache安装

时间:2018-02-28 01:07:57      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:MariaDB   Apache   

11.6 MariaDB安装



mariadb是mysql的一个分支


·下载MariaDB二进制安装包:

[root@localhost local]# cd src/
[root@localhost 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
(下载过程略)
[root@localhost src]# ll
总用量 859696
-rw-r--r--.  1 root  root          0 1月   6 22:20 ]
drwxr-xr-x. 12  1001  1001      4096 1月   6 22:39 httpd-2.2.34
-rw-r--r--.  1 root  root    7684419 7月  10 2017 httpd-2.2.34.tar.gz
-rw-r--r--.  1 root  root  541295045 5月  16 2017 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
-rw-r--r--.  1 root  root  316320366 3月  18 2017 mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
drwxr-xr-x. 17 mysql mysql      4096 1月   6 23:10 php-5.6.30
-rw-r--r--.  1 root  root   15011816 1月  19 2017 php-5.6.30.tar.bz2


·解压安装包:

[root@localhost src]# tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
(过程省略)
[root@localhost src]# ll
总用量 859700
-rw-r--r--.  1 root  root          0 1月   6 22:20 ]
drwxr-xr-x. 12  1001  1001      4096 1月   6 22:39 httpd-2.2.34
-rw-r--r--.  1 root  root    7684419 7月  10 2017 httpd-2.2.34.tar.gz
drwxrwxr-x. 14  1021  1004      4096 5月  16 2017 mariadb-10.2.6-linux-glibc_214-x86_64
-rw-r--r--.  1 root  root  541295045 5月  16 2017 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
-rw-r--r--.  1 root  root  316320366 3月  18 2017 mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
drwxr-xr-x. 17 mysql mysql      4096 1月   6 23:10 php-5.6.30
-rw-r--r--.  1 root  root   15011816 1月  19 2017 php-5.6.30.tar.bz2


·将解压出的目录移动到 /usr/local/ 下并改名为mariadb

[root@localhost src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
[root@localhost src]# cd ..
[root@localhost local]# cd mariadb/
[root@localhost mariadb]# ll
总用量 176
drwxr-xr-x.  2 1021 1004  4096 4月  27 2017 bin
-rw-r--r--.  1 1021 1004 17987 5月  15 2017 COPYING
-rw-r--r--.  1 1021 1004 86263 5月  15 2017 COPYING.thirdparty
-rw-r--r--.  1 1021 1004  2271 5月  15 2017 CREDITS
drwxrwxr-x.  3 1021 1004    18 5月  16 2017 data
drwxrwxr-x.  2 1021 1004    31 5月  16 2017 DESTINATION
drwxrwxr-x.  2 1021 1004    81 5月  16 2017 docs
-rw-r--r--.  1 1021 1004  8245 5月  15 2017 EXCEPTIONS-CLIENT
drwxrwxr-x.  3 1021 1004    19 5月  16 2017 include
-rw-r--r--.  1 1021 1004  8694 5月  15 2017 INSTALL-BINARY
drwxr-xr-x.  4 1021 1004   216 5月   3 2017 lib
drwxrwxr-x.  4 1021 1004    30 5月  16 2017 man
drwxrwxr-x. 11 1021 1004  4096 5月  16 2017 mysql-test
-rw-r--r--.  1 1021 1004  2371 5月  15 2017 README.md
-rw-r--r--.  1 1021 1004 19510 5月  15 2017 README-wsrep
drwxrwxr-x.  2 1021 1004    30 5月  16 2017 scripts
drwxrwxr-x. 29 1021 1004  4096 5月  16 2017 share
drwxrwxr-x.  4 1021 1004  4096 5月  16 2017 sql-bench
drwxrwxr-x.  3 1021 1004   275 5月  16 2017 support-files



·初始化:

[root@localhost mariadb]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
(过程略)
[root@localhost mariadb]# echo $?
0

(如果不定义basedir可能去找mysql,那么命令为/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb)


·support-files 中 my-small.cnf、my-large.cnf、my-medium.cnf、my-huge.cnf 区别在于参数大小不同,根据内存大小不同,指定合适的缓存,让mysql达到更高效的性能,做实验的虚拟机内存不大,因此使用 small 即可。


拷贝模板(为了和mysql区分,拷贝到其他目录):

[root@localhost mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
[root@localhost mariadb]# cp support-files/mysql.server /etc/init.d/mariadb

my.cnf基本不用更改,直接可用

修改启动配置/etc/init.d/mariadb

技术分享图片技术分享图片

(因为maria的my.cnf要和mysql的my.cnf区分开,因此单独定义一个conf,如果机器没有安装mysql,那么可以不用定义,并且可以将my.cnf放在 /etc/ 下)

找到start启动参数,增加conf

技术分享图片技术分享图片


·打开服务前,确认关闭mysqld服务:

[root@localhost mariadb]# ps aux | grep mysqld
root       2120  0.0  0.0 112676   980 pts/0    R+   16:45   0:00 grep --color=auto mysqld


·启动mariadb:

[root@localhost mariadb]# /etc/init.d/mariadb start
Reloading systemd:                                         [  确定  ]
Starting mariadb (via systemctl):                          [  确定  ]
[root@localhost mariadb]# ps aux |grep mariadb##grep mysqld也可以
root       2162  0.0  0.1 115388  1732 ?        S    16:47   0:00 /bin/sh /usr/local/mariadb/bin/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
mysql      2278  8.0  4.9 1125124 49780 ?       Sl   16:47   0:01 /usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/mariadb/my.cnf --basedir=/usr/local/mariad --datadir=/data/mysql --plugin-dir=/usr/local/mariadb/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
root       2321  0.0  0.0 112676   984 pts/0    R+   16:47   0:00 grep --color=auto mariadb
[root@localhost mariadb]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      822/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      934/master
tcp6       0      0 :::22                   :::*                    LISTEN      822/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      934/master
tcp6       0      0 :::3306                 :::*                    LISTEN      2278/mysqld

maridb是mysql的分支,因此mariadb和安装mysql一样,单独定义配置文件所在路径,为的是和mysql区分开

技术分享图片技术分享图片

虽然我们制定了配置文件为--defaults-file=/usr/local/mariadb/my.cnf,但是依然加载了--datadir=/data/mysql,而不是/data/mariadb。这是因为在my.cnf中并没有定义datadir这个参数,他就去找/etc/my.cnf配置文件。

可以在/usr/loal/mariadb/my.cnf中,在[mysqld]下增加datadir = /data/mariadb

技术分享图片技术分享图片

[root@localhost ~]# killall mysqld
[root@localhost ~]# ps aux | grep mysqld
root       1130  0.0  0.0 112676   984 pts/0    S+   17:16   0:00 grep --color=auto mysqld
[root@localhost ~]# /etc/init.d/mariadb start
Starting mariadb (via systemctl):                          [  确定  ]
[root@localhost ~]# ps aux | grep mysqld
root       1156  0.4  0.1 115388  1728 ?        S    17:16   0:00 /bin/sh /usr/local/mariadb/bin/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir=/data/mariadb --pid-file=/data/mariadb/localhost.localdomain.pid
mysql      1275  4.6  5.8 1125024 58584 ?       Sl   17:16   0:00 /usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/mariadb/my.cnf --basedir=/usr/local/mariadb --datadir=/data/mariadb --plugin-dir=/usr/local/mariadb/lib/plugin --user=mysql --log-error=/data/mariadb/localhost.localdomain.err --pid-file=/data/mariadb/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
root       1311  0.0  0.0 112676   984 pts/0    R+   17:16   0:00 grep --color=auto mysqld

技术分享图片

技术分享图片(datadir变为/data/mariadb)

在启动脚本中定义datadir不行,必须要在my.cnf中定义





11.7/11.8/11.9 Apache安装



·Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache

·Apache官网www.apache.org

·apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)

下载安装包:

wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz

wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz

wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2



·解压下载的安装包:

tar zxvf apr-1.6.3.tar.gz

tar jxvf apr-util-1.6.1.tar.bz2

tar zxvf httpd-2.4.29.tar.gz

·安装apr:

[root@localhost src]# cd apr-1.6.3/
[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr/
(过程省略)
[root@localhost apr-1.6.3]# echo $?
0
[root@localhost apr-1.6.3]# make && make install
(过程省略)



·安装apr-util:

root@localhost src]# cd ../apr-util-1.6.1/
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
(--with-apr=用来定义依赖的apr位置)
(过程省略)
[root@localhost apr-util-1.6.1]# make && make install



·安装httpd:

[root@localhost apr-util-1.6.1]# cd ..
[root@localhost src]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4.29 --with-apr=/usr/local/apr --with-apr-util=/usr/local/util --enable-so --enable-mods-most
(过程省略)
[root@localhost httpd-2.4.29]# make && make install
[root@localhost apache2.4]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

(安装过程中的问题见问题汇总)


·安装完成后,进入apache目录:

[root@localhost local]# cd apache2.4/
[root@localhost apache2.4]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

常用目录:

bin                 可执行文件 bin中的httpd

conf                 配置文件所在目录

htdocs             存放访问页

logs                 存放错误日志、访问日志等

man                 帮助文档

modules             模块


·查看apache加载了哪些模块:/usr/local/apache2.4/bin/httpd -M

(或者/usr/local/apache2.4/bin/apachectl -M)

[root@localhost apache2.4]# /usr/local/apache2.4/bin/httpd -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)

(static 静态,直接把模块编译进主二进制文件httpd;

shared 扩展模块,文件目录在/usr/local/apache2.4/modules)


·启动apache:


[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost apache2.4]# ps aux | grep httpd
root      56398  0.0  0.2  70896  2204 ?        Ss   23:28   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    56399  0.0  0.4 359860  4244 ?        Sl   23:28   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    56400  0.0  0.4 359860  4244 ?        Sl   23:28   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    56401  0.0  0.4 359860  4244 ?        Sl   23:28   0:00 /usr/local/apache2.4/bin/httpd -k start
root      56484  0.0  0.0 112676   984 pts/0    S+   23:28   0:00 grep --color=auto httpd
[root@localhost apache2.4]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      826/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1076/master
tcp6       0      0 :::80                   :::*                    LISTEN      56398/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      826/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1076/master



安装时遇到的报错汇总:

1,xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录  #include <expat.h>


解决:缺少expat-devel包

   yum install expat-devel


2,configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/


解决:

yum list | grep pcre查找依赖包

yum install -y pcre-devel

再编译就行了


3,make报错

collect2: error: ld returned 1 exit status

make[2]: [htpasswd] 错误 1

make[2]: 离开目录“/usr/local/src/httpd-2.4.27/support”

make[1]: [all-recursive] 错误 1

make[1]: 离开目录“/usr/local/src/httpd-2.4.27/support”

make: *** [all-recursive] 错误 1


解决:删除文件,重新解压源码包,先复制文档,再configure后加 --with-included-apr再重新编译

cd /usr/local/src/

cp -r apr-1.6.3  /usr/local/src/httpd-2.4.29/srclib/apr

cp -r apr-util-1.6.1  /usr/local/src/httpd-2.4.29/srclib/apr-util

cd /usr/local/src/httpd-2.4.29

#./configure --with-included-apr --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most

#make &&make install


2018-2-27 9周5次课MariaDB、Apache安装

标签:MariaDB   Apache   

原文地址:http://blog.51cto.com/11530642/2073736

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!