Linux基础篇-8MySQL与PHP安装与配置
Posted 可乐随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础篇-8MySQL与PHP安装与配置相关的知识,希望对你有一定的参考价值。
8.1 MySQL概述
8.1.1 MySQL简介
关系型数据库,瑞典mysql AB公司研发,后被SUN收购,最后被Oracle公司收购。
8.1.2 MySQL版本
1、Alpha版本:一般只在软件开发公司内部运行。
2、Beta版本:完成开发和测试后的产品,不会存在重大BUG。
3、RC版本:属于正式发布前的一个版本,最终测试版本。
4、GA版本:正式发布版本。
8.2 MySQL的部署
8.2.1 MySQL简介
MySQL常见安装有4种方式:
1、常用的编译安装方式(适用于MySQL5.5以前版本)。
2、二进制包安装方式。
3、RPM包安装方式。
4、Cmake方式安装(适用与MySQL5.5以后的版本)。
8.2.2 MySQL安装部署
本节以二进制的安装方式来安装MySQL5.7。
1、删除centos系统自带的mariadb数据库防止发生冲突
[root@jsyj-web conf]#rpm -qa|grep mariadb #查询安装包C
[root@jsyj-web conf]#rpm -e mariadb-libs --nodeps #e 卸载,--nodeps不检查依赖
2、下载软件包:www.mysql.com >> downloads >> MySQL Community (GPL) Downloads » MySQL Community Server >> Select Operating System >> Linux Generic >> mysql-5.7.16-linux-glibc2.12-x86_64.tar
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.12-x86_64.tar
3、安装依赖包软件:
[root@jsyj-web conf]#yum install zlib-devel gcc-c++ ncurses-devel libaio libaio-devel -y
4、安装mysql
[root@jsyj-web /]# useradd mysql -s /sbin/nologin -M #s 指定shell,M不创建目录
[root@jsyj-web /]# mkdir /mysql/data -p #p 递归创建
[root@jsyj-web /]# chown -R mysql.mysql /mysql/ #更改属组
[root@jsyj-web mysql]# tar -zxf mysql-5.7.35.tar.gz -C /usr/local
[root@jsyj-web local]# ln -s /usr/local/mysql-5.7.35/ /usr/local/mysql
[root@jsyj-web support-files]# cp my-default.cnf /etc/my.cnf #配置文件
[root@jsyj-web support-files]# cp mysql.server /etc/init.d/mysqld #启动角本
[root@jsyj-web support-files]# chmod +x /etc/init.d/mysqld #加执行权限
[root@jsyj-web mysql]# bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/mysql/data --user=mysql #安装mysql
5、配置my.cnf
[client]
port = 3306
socket = /mysql/mysql.sock
[mysqld]
basedir = /usr/local/mysql
datadir = /mysql/data/
port = 3306
server_id = 1
socket = /mysql/mysql.sock
log-bin = /mysql/mysql-bin
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
[mysqld_safe]
log-error = /mysql/mysql.log
pid-file = /mysql/mysql.pid
6、启动mysql并检查
[root@jsyj-web /]# chown -R mysql:mysql /mysql
[root@jsyj-web mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@jsyj-web mysql]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 46840 mysql 20u IPv6 88916 0t0 TCP *:mysql (LISTEN)
配置自动启如下:
chmod +x mysqld
chkconfig --add mysqld
chkconfig #检查自启动列表
7、配置环境变量
[root@jsyj-web mysql]# echo export PATH=$PATH:/usr/local/mysql/bin >>/etc/profile
[root@jsyj-web mysql]# source /etc/profile
8、登陆mysql并改密`码
[root@jsyj-web mysql]# mysql -uroot -p
mysql> ALTER USER root@localhost IDENTIFIED BY 123456;
mysql> flush privileges;
8.3 MySQL的目录结构与配置文件
8.3.1 MySQL的目录
MySQL目录结构及其作用。
[root@jsyj-web mysql]# tree -L 1
.
├── bin #命令、客户端程序与脚本文件目录
├── COPYING
├── docs #文档、changelog目录
├── include #包含文件目录
├── lib #库文件目录
├── man #帮助文档目录
├── README
├── share #错误信息与字符集文件目录
└── support-files #自带的默认配置文件目录
8.3.2 MySQL配置文件
MySQL默认配置文件是 my.cnf
[client] #客户端配置标识
port = 3306 #服务所使用的端口
socket = /mysql/mysql.sock #套接字文件的存放目录
[mysqld] #服务端配置标识
basedir = /usr/local/mysql #服务安装目录
datadir = /mysql/data/ #数据存储目录
port = 3306
server_id = 1
socket = /mysql/mysql.sock
log-bin = /mysql/mysql-bin #打开binlog日志功能
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error = /mysql/mysql.log #错误日志目录
pid-file = /mysql/mysql.pid #PID文件存放目录
家庭计算机mysql root密`码:7iK!D.n)+0d 已改为:123456
公司笔记本mysql root密·码:ZdB;gSd1p(y 已改为:123456
(2022.1.18安装)
8.4 php的安装与配置
8.4.1 准备安装环境
1、检查基础环境,php的运行需要Apache或nginx两个基础环境。
2、检查Apache/Nginx和Mysql是否启动。
使用ps -ef | grep nignx lsof -i :80 #检查服务是否启动端口是否监听。
3、安装PHP所需要的库文件
[root@site101 ~]# yum install zlib libxml libjpeg freetype libpng gd curl libiconv zib-devel libxml2 libxml-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel -y
8.4.2 PHP的安装过程
1、下载php-7.0.0.tar.gz,官网:www.php.net
2、编译安装: #以php-7.0.0为例进行编译,不同版本PHP,参数可能不同。
./configure \\
--prefix=/usr/local/php-7.0.0 \\
--with-apxs2=/usr/local/apache/bin/apxs \\
--with-mysql=/usr/local/mysql \\
--with-xmlrpc \\
--with-openssl \\
--with-zlib \\
--with-freetype-dir \\
--with-gd \\
--with-jpeg-dir \\
--with-png-dir \\
--with-iconv \\
--enable-short-tags \\
--enable-sockets \\
--enable-soap \\
--enable-mbstring \\
--enable-static \\
--enable-gd-native-ttf \\
--with-curl \\
--with-xsl \\
--enable-ftp \\
--with-libxml-dir
[root@site101 php-7.0.0]# make
[root@site101 php-7.0.0]# make install #分开执行make 及 make install
3、建立软连接
[root@jsyj-web local]# ln -s php-7.0.0/ /usr/local/php
4、复制配置文件到安装目录
[root@jsyj-web php-7.0.0]# cp php.ini-production /usr/local/php/lib/php.ini
8.4.3 配置Apache支持PHP程序
1、在apache/conf 下的配置文件httpd.conf中,添加以下加粗配置
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
2、修改默认用户
User php
Group php
3、修改默认首页文件
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfMoudle>
8.4.4 测试配置
1、检查语法并重启apache
[root@jsyj-web conf]# /usr/local/apache/bin/apachectl -t
Syntax OK
[root@jsyj-web conf]# /usr/local/apache/bin/apachectl graceful
[root@jsyj-web conf]# ps -ef |grep httpd
2、查看PHP模块
[root@jsyj-web conf]# grep php httpd.conf
LoadModule php7_module modules/libphp7.so
User php
Group php
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
报错:AH00052: child pid 25043 exit signal Segmentation fault (11)
解决方法:
[root@jsyj-web conf] /usr/local/apache/bin/httpd -k restart
参考文档:https://blog.51cto.com/kele/4971771
以上是关于Linux基础篇-8MySQL与PHP安装与配置的主要内容,如果未能解决你的问题,请参考以下文章
Linux系统安装与使用基础之第一篇安装并配置Linux(CentOS 7)操作系统