¶安装的顺序:
1 | Apache --> Mysql(MariaDB) --> PHP |
¶1.配置SELinux,防火墙
1 | 禁用SELinux,否则可能造成编译失败或者出现其他意料不到的问题 |
¶2.配置aliyun Yum源
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
¶3.安装开发工具组和依赖包
1 | yum -y groupinstall "development tools" |
¶4.编译安装apr-1.4和apr-1.5
最新版的httpd2.4需要依赖apr-1.4以上版本和apr-1.5以上版本
1 | wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz |
¶5.编译安装httpd2.4.33
1 | wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.33.tar.bz2 |
在启动之前,需要查看/usr/local/apache/conf/httpd.conf
中的ServerName有没有配置,如果没有,则需要配置,如我的虚拟机是192.168.100.254,那ServerName为192.168.100.254:80。
可选操作
1 | groupadd -r apache |
打开 http://192.168.10.10/ 可以看到httpd已经工作
¶6. 编译安装MariaDB10.2.6
¶(1) 删除CentOS7.3默认数据库配置文件
- 查看默认数据库配置文件
1 | [root@localhost ~]# find -H /etc/ | grep my.c |
- 删除默认数据库配置文件
1 | [root@localhost ~]# rm -rf /etc/my.cnf /etc/my.cnf.d/ |
- 再次查看默认数据库配置文件
1 | [root@localhost ~]# find -H /etc/ | grep my.c |
到目前为止, 系统最小化安装自带的数据库配置文件已经删除干净了!
¶(2)卸载系统自带mariadb-libs
- 查询
1 | [root@localhost ~]# rpm -qa|grep mariadb-libs |
- 卸载
1 | [root@localhost ~]# rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps |
¶(4)安装相关包
1 | [root@localhost ~]# yum -y install libaio libaio-devel |
¶(5) 创建家目录存放软件包目录
1 | [root@localhost ~]# mkdir soft |
¶(6)MariaDB官网复制源码包链接地址并下载解压
1 | [root@localhost soft]# wget http://112.5.240.21:81/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/ftp.hosteurope.de/mirror/archive.mariadb.org//mariadb-10.2.6/source/mariadb-10.2.6.tar.gz |
- 解压
1 | [root@localhost soft]# tar -zxvf mariadb-10.2.6.tar.gz |
¶(7)创建MariaDB安装目录、数据库存放目录、建立用户和目录
这里提前预定MariaDB的安装目录为/usr/local/mysql并且数据库目录为/data/mysql,这里要建立系统用户及组和数据库存放目录,并且将数据库存放目录赋予mysql用户及组权限,操作如下:
请注意特别说明一下:这里说的数据库目录是指的具体数据库存储文件, 而不是安装文件!
- 创建mysql系统用户组
1 | [root@localhost soft]# groupadd -r mysql |
- 创建系统用户mysql并加入到mysql系统用户组
1 | [root@localhost soft]# useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql |
以下是上面创建系统用户mysql的各个参数说明:
-r: 添加系统用户( 这里指将要被创建的系统用户mysql )
-g: 指定要创建的用户所属组( 这里指添加到新系统用户mysql到mysql系统用户组 )
-s: 新系统帐户的登录shell(
/sbin/nologin
这里设置为将要被创建系统用户mysql不能用来登录系统 )-d: 新帐户的主目录( 这里指定将要被创建的系统用户mysql的家目录为
/usr/local/mysql
)-M: 不要创建用户的主目录( 也就是说将要被创建的系统用户mysql不会在
/home
目录下创建mysql
家目录 )
- 创建maria安装目录
1 | [root@localhost soft]# mkdir -p /usr/local/mysql |
- 创建数据库存放目录
1 | [root@localhost soft]# mkdir -p /data/mysql |
- 改变数据库存放目录所属用户及组为 mysql:mysql
1 | [root@localhost soft]# chown -R mysql:mysql /data/mysql |
¶(8)执行编译安装
1 | 进入到解压后的源码包文件夹 |
¶(9)配置MariaDB
1 | 进入到 MariaDB 安装目录 |
¶(10)复制MariaDB配置文件到/etc目录
1 | 进行到 MariaDB 安装目录 |
¶(11)创建启动脚本
1 | [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld |
¶(12) 启动mysqld服务
1 | [root@localhost mysql]# /etc/rc.d/init.d/mysqld start |
¶(13) 配置环境变量, 以便在任何目录下输入mysql
1 | 打开并新建文件 |
¶(14)初始化MariaDB
1 | 运行MariaDB初始化脚本 |
¶(15)进入MariaDB终端
小伙伴们, 经过以上努力, 终于是见到署光的时刻啦!
- 如果说在
初始化MariaDB
中没有设置密码, 进入MariaDB终端, 直接输入mysql
即可
1 | [root@localhost ~]# mysql |
- 如果设置了密码则加入参数
- -u: 用户名
- -p: 密码
- -P: 端口号
- -h: 主机
- 更多参数具体含义请参数
mysql --help
进行查看!
1 | [root@localhost ~]# mysql -u u_setting_username -p |
¶(16)编译安装后所有配置操作
注意: 这部分是对以上编译安装后mariadb配置所有操作的一个总结, 看客小伙伴们就不用再次执行了, 为此有不少小伙伴已入坑?, 博主深表歉意!不好意思让你入坑了, 实在是罪过哦!?
1 |
|
¶7. 编译安装mysql
¶(1)安装依赖包
1 | [root@vm ~] yum -y install gcc gcc-c++ ncurses ncurses-devel cmake |
¶(2)下载相应源码包
1 | [root@vm ~] mkdir -p /root/oneinstack/src |
¶(3)添加mysql用户
1 | [root@vm ~] useradd -M -s /sbin/nologin mysql |
¶(4)预编译
1 | [root@vm ~] tar -zxvf mysql-boost-5.7.19.tar.gz |
¶(5)编译安装
1 | [root@vm ~] make -j `grep processor /proc/cpuinfo | wc -l` |
编译很消耗系统资源,小内存可能编译通不过
启动脚本,设置开机自启动
1 | cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld |
¶(6)配置 /etc/my.cnf,仅供参考
1 | cat > /etc/my.cnf << EOF |
¶(7)初始化数据库
1 | /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql |
注:
- 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃
- “–initialize"会生成一个随机密码(~/.mysql_secret),而”–initialize-insecure"不会生成密码
- –datadir目标目录下不能有数据文件
¶(8)启动数据库
1 | service mysqld status |
1 | dbrootpwd=123456 #数据库root密码 |
¶8. mysql官网已编译二进制包安装
mysql和mariadb编译需要很长时间,而且在配置比较低的服务器上还可能编译失败,建议直接通过在线包管理工具(如yum或者apt)安装或者官网下载已经编译好的二进制程序进行安装,对于在线包管理工具这里就不介绍了。下面是就介绍已经编译好的二进制程序安装的方法。
1 | wget http://211.143.146.211/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/ftp.hosteurope.de/mirror/archive.mariadb.org//mariadb-10.2.14/bintar-linux-x86_64/mariadb-10.2.14-linux-x86_64.tar.gz |
¶9.编译安装PHP7.1.17
1 | 解决依赖 |
打开http://192.168.10.10/ 能看到"连接数据库成功!"即可,否则请检查错误。
¶10.编译安装php-memcached扩展
最新版Xcache3.2最高只支持到PHP 5.6,所以PHP7不在支持列表里,我以这里我们使用php-memcached来提供缓存功能
1 | 编译安装libmemcached |