Linux:LNMP 架构部署,源码包安装mysql

使用源码包安装服务程序的过程归纳汇总后只需要 4~5 个步骤即可完成安装

第 1 步:下载及解压源码包文件。使用源码包安装服务程序,必须先把里面的内容解压出来,然后再切换到源码包文件的目录中:

tar zxvf  FileName.tar.gz

cd FileDirectory

第 2 步:编译源码包代码。

可以根据需要来追加--prefix 参数, 以指定稍后源码包程序的安装路径,从而对服务程序的安装过程更加可控。当编译工作结束后,如果系统环境符合安装要求,一般会自动在当前目录下生成一个 Makefile 安装文件。

./configure --prefix=/usr/local/program

第 3 步:生成二进制安装程序。刚刚生成的 Makefile 文件中会保存有关系统环境、软件
依赖关系和安装规则等内容,接下来便可以使用 make 命令来根据 Makefile 文件内容提供的
合适规则编译生成出真正可供用户安装服务程序的二进制可执行文件了。

make

第 4 步:运行二进制的服务程序安装包。由于不需要再检查系统环境,也不需要再编译
代码,因此运行二进制的服务程序安装包应该是速度最快的步骤。如果在源码包编译阶段使
用了--prefix 参数,那么此时服务程序就会被安装到那个目录,如果没有自行使用参数定义目
录的话,一般会被默认安装到/usr/local/bin 目录中。

make install

第 5 步:清理源码包临时文件。由于在安装服务程序的过程中进行了代码编译的工作,
因此在安装后目录中会遗留下很多临时垃圾文件,本着尽量不要浪费磁盘存储空间的原则,
可以使用 make clean 命令对临时文件进行彻底的清理工作。

make clean

LNMP 动态网站架构

在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,他需要
具备 C 语言、 C++语言、 Perl 语言的编译器,以及各种常见的编译支持函数库程序。因此请
先配置妥当 Yum 软件仓库,然后把下面列出的这些软件包都统统安装上:

yum install -y apr* autoconf automake bison bzip2 bzip2*
compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetypedevel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils
keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepoldevel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm*
libtifflibtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl
php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

下载源码包:建议把要安装的软件包存放在/usr/local/src 目录中:

 cd /usr/local/src
 wget http://www.linuxprobe.com/Software/cmake-2.8.11.2.tar.gz
 wget http://www.linuxprobe.com/Software/Discuz_X3.2_SC_GBK.zip
 wget http://www.linuxprobe.com/Software/freetype-2.5.3.tar.gz
 wget http://www.linuxprobe.com/Software/jpegsrc.v9a.tar.gz
 wget http://www.linuxprobe.com/Software/libgd-2.1.0.tar.gz
 wget http://www.linuxprobe.com/Software/libmcrypt-2.5.8.tar.gz
wget http://www.linuxprobe.com/Software/libpng-1.6.12.tar.gz
 wget http://www.linuxprobe.com/Software/libvpx-v1.3.0.tar.bz2
 wget http://www.linuxprobe.com/Software/mysql-5.6.19.tar.gz
 wget http://www.linuxprobe.com/Software/nginx-1.6.0.tar.gz
 wget http://www.linuxprobe.com/Software/openssl-1.0.1h.tar.gz
 wget http://www.linuxprobe.com/Software/php-5.5.14.tar.gz
 wget http://www.linuxprobe.com/Software/pcre-8.35.tar.gz
 wget http://www.linuxprobe.com/Software/t1lib-5.1.2.tar.gz
 wget http://www.linuxprobe.com/Software/tiff-4.0.3.tar.gz
 wget http://www.linuxprobe.com/Software/yasm-1.2.0.tar.gz
wget http://www.linuxprobe.com/Software/zlib-1.2.8.tar.gz

以CMake源码安装为例:

tart zxvf cmake-2.8.11.2.tar.gz

cd cmake-2.8.11.2/

./configure

make

make install

配置 MySQL 服务

针对MySQL 数据库来讲,我们需要在系统中创建一个名为 mysql 的用户,专门用于负责运行
MySQL 数据库。请记得要把这类账户的 Bash 终端设置成 nologin 解释器,避免黑客通过该用
户登录到服务器中,从而提高系统安全性。

useradd mysql -s /sbin/nologin

创建一个用于保存 MySQL 数据库程序和数据库文件的目录,并把该目录的所有者和所
属组身份修改为 mysql。其中, /usr/local/mysql 是用于保存 MySQL 数据库服务程序的目录,
/usr/local/mysql/var 则是用于保存真实数据库文件的目录。

mkdir -p /usr/local/mysql/var

chown -Rf mysql:mysql /usr/local/mysql

解压、编译、安装 MySQL 数据库服务程序。在编译数据库时使用的是 cmake 命
令,其中, -DCMAKE_INSTALL_PREFIX 参数用于定义数据库服务程序的保存目录,
-DMYSQL_DATADIR 参数用于定义真实数据库文件的目录, -DSYSCONFDIR 则是定义
MySQL 数据库配置文件的保存目录。

tar xzvf mysql-5.6.19.tar.gz

cd mysql-5.6.19/

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysqlDMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

make

make install

为了让 MySQL 数据库程序正常运转起来,需要先删除/etc 目录中的默认配置文件,然后
在 MySQL 数据库程序的保存目录 scripts 内找到一个名为 mysql_install_db 的脚本程序,执
行这个脚本程序并使用--user 参数指定 MySQL 服务的对应账号名称(在前面步骤已经创
建),使用--basedir 参数指定 MySQL 服务程序的保存目录,使用--datadir 参数指定 MySQL
真实数据库的文件保存目录,这样即可生成系统数据库文件,也会生成出新的 MySQL 服务
配置文件。

rm -rf /etc/my.cnf

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var

把系统新生成的 MySQL 数据库配置文件链接到/etc 目录中,然后把程序目录中的开机程
序文件复制到/etc/rc.d/init.d 目录中,以便通过 service 命令来管理 MySQL 数据库服务程序。
记得把数据库脚本文件的权限修改成 755 以便于让用户有执行该脚本的权限:

ln -s my.cnf /etc/my.cnf

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

编辑刚复制的 MySQL 数据库脚本文件,把第 46、 47 行的 basedir 与 datadir 参数分别修
改为 MySQL 数据库程序的保存目录和真实数据库的文件内容。

vim /etc/rc.d/init.d/mysqld

basedir=/usr/local/mysql

datadir=/usr/local/mysql/var

配置好脚本文件后便可以用 service 命令启动 mysqld 数据库服务了。 mysqld 是 MySQL
数据库程序的服务名称,注意不要写错。顺带再使用 chkconfig 命令把 mysqld 服务程序加入
到开机启动项中。

service mysqld start

chkconfig mysqld on

需要编辑/etc/profile 文件并写入追加的命令目录,这样当物理设备在下一次重启时就会永久生效了。如
果不想通过重启设备的方式来生效,也可以使用 source 命令加载一下/ect/profile 文件,此时新的 PATH 变量也可以立即生效了

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

MySQL 数据库服务程序还会调用到一些程序文件和函数库文件。由于当前是通过源码包
方式安装 MySQL 数据库,因此现在也必须以手动方式把这些文件链接过来。

mkdir /var/lib/mysql

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

接下来准备对 MySQL 数据库进行初始化,这个初始化的配置过程与 MariaDB 数据库是一样的

mysql_secure_installation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(linux)