当前位置:Gxlcms > 数据库问题 > 2.MariaDB和Apache安装

2.MariaDB和Apache安装

时间:2021-07-01 10:21:17 帮助过:3人阅读

[toc]

MariaDB安装

11.6 MariaDB安装

1.下载安装包到统一目录/usr/local/src/

  1. <code>[root@xavi ~]# cd /usr/local/src/
  2. [root@xavi 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</code>

因为MariaDB的二进制包镜像源在国外地址,所以预先下载了该包到本地物理机,使用lrzsz工具将该包上传至虚拟机/usr/local/src目录进行安装。

  1. <code>[root@xavi src]# yum install -y lrzsz
  2. [root@xavi src]# rz</code>

2.解压二进制安装包并移动至/usr/local下

  1. <code>[root@xavi src]# tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
  2. [root@xavi src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb</code>

3.初始化,指定basedir和datadir

3.1 这里说下进入/usr/local/mariadb/的三种方法

①.cd /usr/local/mariadb/

②.cd $! //上一条指令移动到的位置就是该路径,所有可实现

③.cd ../mariab //当前src的路径和mariab相同所以能实现

  1. <code>[root@xavi src]# cd /usr/local/mariadb/
  2. [root@xavi mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb --datadir=/data/mariadb</code>

3.2 初始化之后查看是否成功,只出现1个OK,再用echo $?确认是否错误

技术分享图片

  1. <code>[root@xavi mariadb]# echo $?
  2. 0</code>

3.3 对比mariadb和mysql的数据存储目录

  1. <code>[root@xavi mariadb]# ls /data/mariadb/
  2. aria_log.00000001 ibdata1 mysql
  3. aria_log_control ib_logfile0 performance_schema
  4. ib_buffer_pool ib_logfile1 test
  5. [root@xavi mariadb]# ls /data/mysql/
  6. auto.cnf localhost.localdomain.err xavi.err
  7. ibdata1 mysql xavi.pid
  8. ib_logfile0 performance_schema
  9. ib_logfile1 test</code>

4.拷贝配置文件并编辑(my-small.cnf)

4.1 查看下该路径下有哪些文件/support-files/找到my-small.cnf

  1. <code>[root@xavi mariadb]# ls
  2. bin data include mysql-test share
  3. COPYING DESTINATION INSTALL-BINARY README.md sql-bench
  4. COPYING.thirdparty docs lib README-wsrep support-files
  5. CREDITS EXCEPTIONS-CLIENT man scripts</code>

进入support-files目录,发现其和mysql下的support-files是有区别的

  1. <code>[root@xavi mariadb]# ls support-files/
  2. binary-configure my-innodb-heavy-4G.cnf my-small.cnf mysql.server wsrep_notify
  3. magic my-large.cnf mysqld_multi.server policy
  4. my-huge.cnf my-medium.cnf mysql-log-rotate wsrep.cnf</code>

技术分享图片

4.2 my-small.cnf的作用根据你的内存大小,合理分配,根据系统运行情况

  1. <code>[root@xavi mariadb]# vim support-files/my-small.cnf</code>

打开后有很多参数
技术分享图片

  1. <code>[root@xavi mariadb]# free
  2. total used free shared buff/cache available
  3. Mem: 1867292 625788 973228 9120 268276 1045700
  4. Swap: 3905532 0 3905532</code>

4.3把my-small.cnf拷贝到/usr/local/mariadb/my.cnf,编辑指定basedir和datadir

  1. <code>[root@xavi mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf</code>

技术分享图片

技术分享图片

basedir=/usr/local/mariadb
datadir=/data/mariadb

技术分享图片

5.拷贝启动脚本至/etc/init.d/目录下,并修改内容

  1. <code>[root@xavi mariadb]# cp support-files/mysql.server /etc/init.d/mariadb
  2. [root@xavi mariadb]# vim /etc/init.d/mariadb</code>

技术分享图片

技术分享图片

技术分享图片

  1. <code>[root@xavi mariadb]# ps aux |grep mysql
  2. root 1073 0.0 0.0 115392 1668 ? S 20:39 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/xavi.pid
  3. mysql 1354 0.2 24.5 1368672 458540 ? Sl 20:39 0:11 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/xavi.err --pid-file=/data/mysql/xavi.pid
  4. root 3762 0.0 0.0 112676 976 pts/0 S+ 21:55 0:00 grep --color=auto mysql
  5. [root@xavi mariadb]# ps aux |grep mariadb
  6. root 3764 0.0 0.0 112676 972 pts/0 S+ 21:55 0:00 grep --color=auto mariadb</code>

6.启动mariadb:/etc/init.d/mariadb start或者service mariadb start

  1. <code>[root@xavi mariadb]# /etc/init.d/mariadb start
  2. Reloading systemd: [ 确定 ]
  3. Starting mariadb (via systemctl): [ 确定 ]
  4. [root@xavi mariadb]# ps aux |grep mariadb
  5. root 3693 0.0 0.0 112676 972 pts/0 S+ 21:50 0:00 grep --color=auto mariadb</code>

6.1 这里出现了错误,有可能是mysql服务没有关,查看一下:ps aux |grep mysql

  1. <code>[root@xavi mariadb]# ps aux |grep mysql
  2. root 1073 0.0 0.0 115392 1668 ? S 20:39 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/xavi.pid
  3. mysql 1354 0.2 24.5 1302876 458540 ? Sl 20:39 0:10 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/xavi.err --pid-file=/data/mysql/xavi.pid
  4. root 3478 0.0 0.0 112676 976 pts/0 S+ 21:48 0:00 grep --color=auto mysql</code>

6.2 先把mysql服务关闭,然后打开mariadb

  1. <code>[root@xavi mariadb]# service mysqld stop
  2. Shutting down MySQL.. SUCCESS!
  3. [root@xavi mariadb]# service mariadb start
  4. Starting mariadb (via systemctl): [ 确定 ]</code>

6.3 再次查看ps aux |grep mariadb

  1. <code>[root@xavi mariadb]# ps aux |grep mariadb
  2. root 3990 0.1 0.0 115392 1720 ? S 22:06 0:00 /bin/sh /usr/local/mariadb/bin/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir=/data/mariadb --pid-file=/data/mariadb/xavi.pid
  3. mysql 4112 1.4 3.1 1585872 58176 ? Sl 22:06 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/xavi.err --pid-file=/data/mariadb/xavi.pid --socket=/tmp/mysql.sock --port=3306</code>

6.4 netstat -lntp查看3306端口

  1. <code>[root@xavi mariadb]# netstat -lntp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
  5. tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2183/dnsmasq
  6. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1045/sshd
  7. tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1044/cupsd
  8. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1597/master
  9. tcp6 0 0 :::3306 :::* LISTEN 4112/mysqld
  10. tcp6 0 0 :::111 :::* LISTEN 1/systemd
  11. tcp6 0 0 :::22 :::* LISTEN 1045/sshd
  12. tcp6 0 0 ::1:631 :::* LISTEN 1044/cupsd
  13. tcp6 0 0 ::1:25 :::* LISTEN 1597/master </code>

有疑问的是?

技术分享图片
这个无法解释,单从3306端口来看mariadb应该是启动了

killall mysqld先杀死全部mysqld进程,mysql和mariadb用的都是一个端口且mysqld进程program.

  1. <code>[root@xavi mariadb]# killall mysqld
  2. [root@xavi mariadb]# ps aux |grep mysql
  3. root 4566 0.0 0.0 112676 976 pts/0 R+ 22:39 0:00 grep --color=auto mysql
  4. [root@xavi mariadb]# service mariadb start
  5. Starting mariadb (via systemctl): [ 确定 ]</code>

修改主机名字

  1. <code>[root@localhost ~]# hostnamectl set-hostname xavi
  2. [root@localhost ~]#
  3. [root@localhost ~]# init 6</code>

重启后,即[root@xavi ~]#

11.7~11.9 Apache安装

1. 下载所需源码包到指定目录/usr/local/src

  1. <code>[root@xavi mariadb]# cd /usr/local/src
  2. [root@xavi src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz //2.4源码包
  3. [root@xavi src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz //apr-1.6.3r包
  4. [root@xavi src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz //apr-util-1.6.1包</code>

1.1 查看是否都已下载完全:ls

  1. <code>[root@xavi src]# ls
  2. apr-1.6.3 httpd-2.4.29.tar.gz
  3. apr-1.6.3.tar.gz mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
  4. apr-util-1.6.1 mysql-5.5.55
  5. apr-util-1.6.1.tar.gz mysql-5.5.55.tar.gz
  6. httpd-2.4.29 mysql-5.6.36-linux-glibc2.5-x86_64.tar.g</code>

2.解压源码包

  1. <code>[root@xavi src]# tar zxvf httpd-2.4.29.tar.gz
  2. [root@xavi src]# tar zxvf apr-1.6.3.tar.gz
  3. [root@xavi src]# tar zxvf apr-util-1.6.1.tar.gz</code>

3.安装源码包

3.1 安装apr包:#./configure --prefix=/usr/local/apr

  1. <code>[root@xavi apr-1.6.3]# ./configure --prefix=/usr/local/apr //执行配置命令
  2. [root@xavi apr-1.6.3]# echo $?
  3. 0 //确认有无错误</code>
进行编译安装:make && make install
  1. <code>[root@xavi apr-1.6.3]# make && make install</code>

3.3 安装apr-unit包

查看apr下有4个目录

  1. <code>[root@xavi apr-1.6.3]# ls /usr/local/apr
  2. bin build-1 include lib</code>

打开一个apr目录:为什么是1.6.1??

  1. <code>[root@xavi apr-1.6.3]# cd ../apr-util-1.6.5/
  2. -bash: cd: ../apr-util-1.6.5/: //没有那个文件或目录
  3. [root@xavi apr-1.6.3]# cd ../apr-util-1.6.1/
  4. [root@xavi apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  5. [root@xavi apr-util-1.6.1]# make && make install</code>
出现了错误:expat.h:没有那个文件或目录
  1. <code>xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
  2. #include <expat.h>
  3. ^
  4. 编译中断。
  5. make[1]: *** [xml/apr_xml.lo] 错误 1
  6. make[1]: 离开目录“/usr/local/src/apr-util-1.6.1”
  7. make: *** [all-recursive] 错误 1</code>
从描述确实文件,重新安装下和expat*相关的软件包
  1. <code>[root@xavi apr-util-1.6.1]# yum install -y expat*</code>

技术分享图片

再次安装make && make install,在apr-util/下生产了3个子目录

技术分享图片

  1. <code>[root@xavi apr-util-1.6.1]# echo $?
  2. 0
  3. [root@xavi apr-util-1.6.1]# ls /usr/local/apr-util/
  4. bin include lib</code>

3.7 安装httpd包,回到src目录下

  1. <code>[root@xavi apr-util-1.6.1]# cd ..
  2. [root@xavi src]# cd httpd-2.4.29 </code>

配置apache2.4: ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/loccal/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most

  1. <code>[root@xavi httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/loccal/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most</code>

报错:

  1. <code>configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/</code>
解决报错:yum list |grep pcre
  1. <code>[root@xavi httpd-2.4.29]# yum list |grep pcre</code>
安装:yum install -y pcre--devel
  1. <code>[root@xavi httpd-2.4.29]# yum install -y pcre--devel</code>

安装成功

技术分享图片

  1. <code>[root@xavi local]# cd /usr/local/src
  2. [root@xavi src]# ls
  3. apr-1.6.3 httpd-2.4.29.tar.gz
  4. apr-1.6.3.tar.gz mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
  5. apr-util-1.6.1 mysql-5.5.55
  6. apr-util-1.6.1.tar.gz mysql-5.5.55.tar.gz
  7. httpd-2.4.29 mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
  8. [root@xavi src]# cd /usr/local/src/apr-util-1.6.1
  9. [root@xavi apr-util-1.6.1]# make clean</code>

技术分享图片

报错:
技术分享图片

在configure后加上 “--with-included-apr”。再重新编译, make, make install. 即可。

问题又来了,加上--with-included-apr之后,编译,报错如下:

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

错误为:apr,apr-util缺失,需要下载并解压到./srclib/目录下

解决办法:
#cd /usr/local/src/# cp -r apr-1.5.2 /usr/local/src/httpd-2.4.7/srclib/apr

#cp -r apr-util-1.5.4 /usr/local/src/httpd-2.4.7/srclib/apr-util

2.MariaDB和Apache安装

标签:MariaDB   Apache   

人气教程排行