主机 | 操作系统 | IP | 主要软件 |
服务器 | Centos 7.6(X86_64) | 172.20.77.201 |
mysql-5.7.19.tar.gz |
说明:由于安装MySQL5.7需要先安装boost1.59及以上版本,所以要先安装boost
1.解压 boost并拷贝 boost 到 /usr/local/boost 目录
[root@localhost src]# tar -zxvf boost_1_59_0.tar.gz
[root@localhost src]# cp -r boost_1_59_0 /usr/local/boost
2.安装编译所需的常用组件和依赖包
[root@localhost src]# yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake
3.创建运行mysql服务的用户mysql(-M参数表示不创建用户家目录 )
[root@localhost src]# useradd --system -M -s /sbin/nologin mysql
4.解压MySQL,进入 mysql-5.7.19 目录
[root@localhost src]# tar -zxvf mysql-5.7.19.tar.gz
[root@localhost src]# cd mysql-5.7.19/
5.新建MySQL安装所需要目录
[root@localhost mysql-5.7.19]# mkdir -p /usr/local/mysql/{data,logs,pids}
6.修改 /usr/local/mysql 目录所有者权限
[root@localhost mysql]# chown mysql:mysql /usr/local/mysql
7.使用cmake命令进行编译
[root@localhost mysql]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
cmake编译完成后,如下图所示
8.使用make命令进行编译(注意:此过程等待时间较长,具体看服务器硬件配置)
[root@localhost mysql-5.7.19]# make
编译完成,如下图所示
9.编译完成后执行 make install 进行安装
[root@localhost mysql-5.7.19]# make install
安装完成如下图所示
10.将mysql添加到环境变量,修改/etc/profile文件,在文件最末尾添加
export
PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
更新配置文件:source /etc/profile
11.初始化数据库, –initialize 表示默认生成一个安全的密码,–initialize-insecure 表示不生成密码
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
12.将mysql服务文件拷贝到/etc/init.d/
目录,并给出执行权限
[root@localhost mysql-5.7.19]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.7.19]# chmod a+x /etc/init.d/mysqld
13.将MySQL服务加入开机启动项
[root@localhost mysql-5.7.19]# chkconfig --add mysqld
[root@localhost mysql-5.7.19]# chkconfig mysqld on
[root@localhost mysql-5.7.19]# chkconfig --list | grep mysqld
14.修改/etc/my.cnf
文件,编辑配置文件如下,仅供参考
15.启动mysql
问题错误:
由于缺少 mysqld.log
和 mysqld.pid
文件导致无法正常启动
解决方法:
创建文件mysqld.log
和 mysqld.pid
[root@localhost mysql-5.7.19]# touch /usr/local/mysql/logs/mysqld.{log,pid}
修改 /usr/local/mysql 的权限
[root@localhost mysql-5.7.19]# chown mysql:mysql -R /usr/local/mysql/
16.再次启动mysql
[root@localhost logs]# service mysqld start
Starting MySQL. SUCCESS!
17.查看mysql是否启动成功
18.测试连接mysql
19.查看数据库,如果看到以下几个数据库说明数据库初始化成功
20.进入数据库查看用户表
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user,password from user;
ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
问题错误:ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
解决方案:
21.由于初始化数据库没有设置密码,所以root密码为空,不安全,不推荐,设置一下密码
设置密码(推荐),注意此方法必须使用flush privileges拿令刷新一下权限才能生效
1.安装apache依赖包
[root@localhost src]# yum -y install make gcc gcc-c++ openssl openssl-devel expat-devel
2. 安装apache依赖包apr
[root@localhost src]# tar -zxvf apr-1.6.2.tar.gz
[root@localhost src]# cd apr-1.6.2/
[root@localhost apr-1.6.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.6.2]# make&&make install
3.安装apache依赖包apr-util
[root@localhost src]# tar -zxvf apr-util-1.6.0.tar.gz
[root@localhost src]# cd apr-util-1.6.0/
[root@localhost apr-util-1.6.0]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.6.0]# make&&make install
4.安装apache依赖包pcre
[root@localhost src]# tar -zxvf pcre-8.41.tar.gz
[root@localhost src]# cd pcre-8.41/
[root@localhost pcre-8.41]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.41]#make&&make install
5安装apache
[root@localhost src]# tar -zxvf httpd-2.4.37.tar.gz
[root@localhost src]# cd httpd-2.4.37/
[root@localhost httpd-2.4.37]#./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=event
[root@localhost httpd-2.4.37]# make&&make install
#将apache加入系统服务
[root@localhost httpd-2.4.37]# cp /usr/local/apache/bin/apachectl /etc/init.d/
[root@localhost httpd-2.4.37]# chmod a+x /etc/init.d/apachectl
配置apache系统服务脚本,便于使用systemctl管理apache服务
[root@localhost httpd-2.4.37]# vim /usr/lib/systemd/apache.service
[Unit]
Description=apache
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/apachectl start
ExecReload=/etc/init.d/apachectl restart
ExecStop=/etc/init.d/apachectl stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost httpd-2.4.37]# chmod 754 /usr/lib/systemd/apache.service
#启动apache服务
[root@localhost httpd-2.4.37]# /etc/init.d/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 httpd-2.4.37]# netstat -tlnp|grep 80
tcp6 0 0 :::80 :::* LISTEN 86087/httpd
#查看apache服务进程
[root@localhost httpd-2.4.37]# ps -aux|grep apache
root 86087 0.0 0.1 72812 2284 ? Ss 14:20 0:00 /usr/local/apache/bin/httpd -k start
daemon 86088 0.0 0.1 363860 2144 ? Sl 14:20 0:00 /usr/local/apache/bin/httpd -k start
daemon 86089 0.0 0.1 363860 2140 ? Sl 14:20 0:00 /usr/local/apache/bin/httpd -k start
daemon 86090 0.0 0.1 429396 2676 ? Sl 14:20 0:00 /usr/local/apache/bin/httpd -k start
#将apache服务加入开机启动项
[root@localhost httpd-2.4.37]# systemctl enable apache
Created symlink from /etc/systemd/system/multi-user.target.wants/apache.service to /usr/lib/systemd/system/apache.service.
#添加并修改apache服务启动的用户
[root@localhost httpd-2.4.37]# useradd -M --system -s /sbin/nologin apache
[root@localhost httpd-2.4.37]# vim /usr/local/apache/conf/httpd.conf
166 User apache
167 Group apache
#修改apache服务安装目录权限的所有者
pache/
#重启并测试apache能否打开默认主页
[root@localhost httpd-2.4.37]# systemctl restart apache
[root@localhost httpd-2.4.37]# curl 127.0.0.1
<html><body><h1>It works!</h1></body></html>
1.安装php依赖包
[root@localhost src]#yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c php-pear
2.解压并配置PHP编译环境
[root@localhost src]# tar -zxvf php-7.1.24.tar.gz
[root@localhost src]# cd php-7.1.24/
[root@localhost php-7.1.24]#./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php/etc/ --with-mysqli=mysqlnd --with-mysql-sock=/usr/local/mysql/mysql.sock --enable-maintainer-zts
3.编译并安装php
[root@localhost php-7.1.24]# make&&make install
4.复制php配置文件到php安装目录/usr/local/php下
[root@localhost php-7.1.24]# cp /usr/local/src/php-7.1.24/php.ini-production /usr/local/php/php.ini
5.修改apache配置文件以便支持php
[root@localhost php-7.1.24]# vim /usr/local/apache/conf/httpd.conf
394 AddType application/x-httpd-php .php
395 AddType application/x-httpd-php-source .phps
6.apache的web目录添加一个php文件,测试一下php是否正常
[root@localhost ~]# vim /usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>
7.防火墙放行80端口
[root@localhost ~]# firewall-cmd --permanent --add-port=80/tcp
[root@localhost ~]# firewall-cmd --reload
8. 在客户端浏览器,访问web页面http://172.20.77.201/index.php,查看是否能正常打开页面
原文:https://www.cnblogs.com/happysnowy/p/13287741.html