lamp
目录
1. lamp简介
有了前面学习的知识的铺垫,今天可以来学习下第一个常用的web架构了。
所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
LAMP指的是Linux(操作系统)、Apache(HTTP服务器)、MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。
2. web服务器工作流程
在说lamp架构平台的搭建前,我们先来了解下什么是CGI,什么是FastCGI,什么是......
web服务器的资源分为两种,静态资源和动态资源
- 静态资源就是指静态内容,客户端从服务器获得的资源的表现形式与原文件相同。可以简单的理解为就是直接存储于文件系统中的资源
- 动态资源则通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端
那么web服务器如何执行程序并将结果返回给客户端呢?下面通过一张图来说明一下web服务器如何处理客户端的请求

阶段①显示的是httpd服务器(即apache)和php服务器通过FastCGI协议进行通信,且php作为独立的服务进程运行
阶段②显示的是php程序和mysql数据库间通过mysql协议进行通信。php与mysql本没有什么联系,但是由Php语言写成的程序可以与mysql进行数据交互。同理perl和python写的程序也可以与mysql数据库进行交互
2.1 cgi与fastcgi
CGI(Common Gateway Interface,通用网关接口),CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
FastCGI(Fast Common Gateway Interface)是CGI的改良版,CGI是通过启用一个解释器进程来处理每个请求,耗时且耗资源,而FastCGI则是通过master-worker形式来处理每个请求,即启动一个master主进程,然后根据配置启动几个worker进程,当请求进来时,master会从worker进程中选择一个去处理请求,这样就避免了重复的生成和杀死进程带来的频繁cpu上下文切换而导致耗时
2.2 httpd与php结合的方式
httpd与php结合的方式有以下三种:
- modules:php将以httpd的扩展模块形式存在,需要加载动态资源时,httpd可以直接通过php模块来加工资源并返回给客户端
- httpd prefork:libphp5.so(多进程模型的php)
- httpd event or worker:libphp5-zts.so(线程模型的php)
- CGI:httpd需要加载动态资源时,通过CGI与php解释器联系,获得php执行的结果,此时httpd负责与php连接的建立和断开等
- FastCGI:利用php-fpm机制,启动为服务进程,php自行运行为一个服务,https通过socket与php通信
较于CGI方式,FastCGI更为常用,很少有人使用CGI方式来加载动态资源
2.3 web工作流程
- 客户端通过http协议请求web服务器资源
- web服务器收到请求后判断客户端请求的资源是静态资源或是动态资源
- 若是静态资源则直接从本地文件系统取之返回给客户端。
- 否则若为动态资源则通过FastCGI协议与php服务器联系,通过CGI程序的master进程调度worker进程来执行程序以获得客户端请求的动态资源,并将执行的结果通过FastCGI协议返回给httpd服务器,httpd服务器收到php的执行结果后将其封装为http响应报文响应给客户端。在执行程序获取动态资源时若需要获得数据库中的资源时,由Php服务器通过mysql协议与MySQL/MariaDB服务器交互,取之而后返回给httpd,httpd将从php服务器收到的执行结果封装成http响应报文响应给客户端。
3. lamp平台搭建
环境说明:
系统平台IP需要安装的服务centos7 redhat7172.16.12.128httpd-2.4 mysql-5.7 php php-mysqllamp平台软件安装次序:
httpd --> mysql --> php
3.1 安装httpd
- [root@mr ~]# cd /etc/yum.repos.d/
- [root@mr yum.repos.d]# ls
- CentOS-Stream-AppStream.repo CentOS-Stream-Extras.repo CentOS-Stream-PowerTools.repo
- CentOS-Stream-BaseOS.repo CentOS-Stream-HighAvailability.repo CentOS-Stream-RealTime.repo
- CentOS-Stream-Debuginfo.repo CentOS-Stream-Media.repo
- [root@mr yum.repos.d]# rm -rf *
- [root@mr yum.repos.d]# ls
- [root@mr yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 2495 100 2495 0 0 15993 0 --:--:-- --:--:-- --:--:-- 16096
- [root@mr yum.repos.d]# ls
- CentOS-Base.repo
- [root@mr yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
- [root@mr yum.repos.d]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
- CentOS-8.5.2111 - Base - mirrors.aliyun.com 144 kB/s | 3.9 kB 00:00
- CentOS-8.5.2111 - Extras - mirrors.aliyun.com 69 kB/s | 1.5 kB 00:00
- CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 176 kB/s | 4.3 kB 00:00
- epel-release-latest-8.noarch.rpm 449 kB/s | 24 kB 00:00
- Dependencies resolved.
- =========================================================================================================
- Package Architecture Version Repository Size
- =========================================================================================================
- Installing:
- epel-release noarch 8-16.el8 @commandline 24 k
- Transaction Summary
- =========================================================================================================
- Install 1 Package
- Total size: 24 k
- Installed size: 34 k
- Downloading Packages:
- Running transaction check
- Transaction check succeeded.
- Running transaction test
- Transaction test succeeded.
- Running transaction
- Preparing : 1/1
- Installing : epel-release-8-16.el8.noarch 1/1
- Running scriptlet: epel-release-8-16.el8.noarch 1/1
- Many EPEL packages require the CodeReady Builder (CRB) repository.
- It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
- Verifying : epel-release-8-16.el8.noarch 1/1
- Installed products updated.
- Installed:
- epel-release-8-16.el8.noarch
- Complete!
- [root@mr yum.repos.d]#
- [root@mr yum.repos.d]# sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
- [root@mr yum.repos.d]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
- [root@mr yum.repos.d]# ls
- CentOS-Base.repo epel-modular.repo epel.repo epel-testing-modular.repo epel-testing.repo
- [root@mr yum.repos.d]# cd
- [root@mr ~]# dnf clean all
- 37 files removed
- [root@mr ~]#
- [root@mr ~]# dnf makecache
- CentOS-8.5.2111 - Base - mirrors.aliyun.com 10 MB/s | 4.6 MB 00:00
- CentOS-8.5.2111 - Extras - mirrors.aliyun.com 104 kB/s | 10 kB 00:00
- CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 11 MB/s | 8.4 MB 00:00
- Extra Packages for Enterprise Linux Modular 8 - x86_64 3.2 MB/s | 1.0 MB 00:00
- Extra Packages for Enterprise Linux 8 - x86_64 10 MB/s | 13 MB 00:01
- Module yaml error: Unexpected key in data: static_context [line 9 col 3]
- Module yaml error: Unexpected key in data: static_context [line 9 col 3]
- Metadata cache created.
- [root@mr ~]# dnf -y install
- openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make vim wget
- ......
- perl-threads-shared-1.58-2.el8.x86_64
- pkgconf-1.4.2-1.el8.x86_64
- pkgconf-m4-1.4.2-1.el8.noarch
- pkgconf-pkg-config-1.4.2-1.el8.x86_64
- zlib-devel-1.2.11-17.el8.x86_64
- Complete!
- [root@mr ~]# [root@mr ~]# useradd -r -M -s /sbin/nologin apache
- [root@mr ~]# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
- --2022-08-02 19:20:01-- https://downloads.apache.org/apr/apr-1.7.0.tar.gz
- Resolving downloads.apache.org (downloads.apache.org)... 135.181.214.104, 88.99.95.219, 2a01:4f9:3a:2c57::2, ...
- Connecting to downloads.apache.org (downloads.apache.org)|135.181.214.104|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 1093896 (1.0M) [application/x-gzip]
- Saving to: ‘apr-1.7.0.tar.gz’
- apr-1.7.0.tar.gz 100%[=====================================>] 1.04M 15.8KB/s in 54s
- 2022-08-02 19:20:56 (19.9 KB/s) - ‘apr-1.7.0.tar.gz’ saved [1093896/1093896]
- [root@mr~]#https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
- ......
- --2022-08-02 19:21:15-- https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
- Resolving downloads.apache.org (downloads.apache.org)... 135.181.214.104, 88.99.95.219, 2a01:4f9:3a:2c57::2, ...
- Connecting to downloads.apache.org (downloads.apache.org)|135.181.214.104|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 554301 (541K) [application/x-gzip]
- Saving to: ‘apr-util-1.6.1.tar.gz’
- apr-util-1.6.1.tar.gz 100%[=====================================>] 541.31K 4.23KB/s in 2m 13s
- 2022-08-02 19:23:29 (4.08 KB/s) - ‘apr-util-1.6.1.tar.gz’ saved [554301/554301]
- [root@mr ~]# wget https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz
- --2022-08-02 19:25:49-- https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz
- Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104, 2a01:4f9:3a:2c57::2, ...
- Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 9743277 (9.3M) [application/x-gzip]
- Saving to: ‘httpd-2.4.54.tar.gz’
- httpd-2.4.54.tar.gz 100%[=====================================>] 9.29M 48.2KB/s in 4m 57s
- 2022-08-02 19:30:47 (32.0 KB/s) - ‘httpd-2.4.54.tar.gz’ saved [9743277/9743277]
- [root@mr ~]# ls
- anaconda-ks.cfg apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz
- [root@mr ~]# tar xf apr-1.7.0.tar.gz
- [root@mr ~]# tar xf apr-util-1.6.1.tar.gz
- [root@mr ~]# ls
- anaconda-ks.cfg apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1 apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz
- [root@mr ~]# cd apr-1.7.0
- [root@mr apr-1.7.0]# ls
- apr-config.in atomic config.layout file_io LICENSE network_io README.cmake time
- apr.dep build configure helpers locks NOTICE shmem tools
- apr.dsp build.conf configure.in include Makefile.in NWGNUmakefile strings user
- apr.dsw buildconf docs libapr.dep Makefile.win passwd support
- apr.mak build-outputs.mk dso libapr.dsp memory poll tables
- apr.pc.in CHANGES emacs-mode libapr.mak misc random test
- apr.spec CMakeLists.txt encoding libapr.rc mmap README threadproc
- [root@mr apr-1.7.0]# vim configure
- # $RM "$cfgfile" //将此行加上注释,或者删除此行
- [root@mr apr-1.7.0]# ./configure --prefix=/usr/local/apr
- ......
- config.status: creating build/apr_rules.mk
- config.status: creating build/pkg/pkginfo
- config.status: creating apr-1-config
- config.status: creating apr.pc
- config.status: creating test/Makefile
- config.status: creating test/internal/Makefile
- config.status: creating include/arch/unix/apr_private.h
- config.status: executing libtool commands
- config.status: executing default commands
- [root@mr apr-1.7.0]# make
- ......
- /unix -I/root/apr-1.7.0/include/arch/unix -I/root/apr-1.7.0/include -I/root/apr-1.7.0/include/private -I/root/apr-1.7.0/include/private export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$/d' >> apr.exp
- sed 's,^\(location=\).*$,\1installed,' < apr-1-config > apr-config.out
- sed -e 's,^\(apr_build.*=\).*$,\1/usr/local/apr/build-1,' -e 's,^\(top_build.*=\).*$,\1/usr/local/apr/build-1,' < build/apr_rules.mk > build/apr_rules.out
- make[1]: Leaving directory '/root/apr-1.7.0'
- [root@mr apr-1.7.0]# make install
- ......
- /usr/bin/install -c -m 755 apr-config.out /usr/local/apr/bin/apr-1-config
- [root@mr apr-1.7.0]# cd ../apr-util-1.6.1
- [root@mr apr-util-1.6.1]# ls
- aprutil.dep apu-config.in CHANGES dbd include LICENSE NWGNUmakefile strmatch
- aprutil.dsp buckets CMakeLists.txt dbm ldap Makefile.in README test
- aprutil.dsw build config.layout docs libaprutil.dep Makefile.win README.cmake uri
- aprutil.mak build.conf configure encoding libaprutil.dsp memcache README.FREETDS xlate
- apr-util.pc.in buildconf configure.in export_vars.sh.in libaprutil.mak misc redis xml
- apr-util.spec build-outputs.mk crypto hooks libaprutil.rc NOTICE renames_pending
- [root@mr apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
- checking build system type... x86_64-pc-linux-gnu
- checking host system type... x86_64-pc-linux-gnu
- checking target system type... x86_64-pc-linux-gnu
- ......
- config.status: creating test/Makefile
- config.status: creating include/private/apu_config.h
- config.status: executing default commands
- [root@mr apr-util-1.6.1]# make && make install
- ......
- See any operating system documentation about shared libraries for
- more information, such as the ld(1) and ld.so(8) manual pages.
- ----------------------------------------------------------------------
- /usr/bin/install -c -m 644 aprutil.exp /usr/local/apr-util/lib
- /usr/bin/install -c -m 755 apu-config.out /usr/local/apr-util/bin/apu-1-config
- [root@mr apr-util-1.6.1]# cd
- [root@mr ~]# ls /usr/local/
- apr apr-util bin etc games include lib lib64 libexec sbin share src
- [root@mr ~]#
- [root@mr ~]# ls
- anaconda-ks.cfg apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1 apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz
- [root@mr ~]# tar xf httpd-2.4.54.tar.gz
- [root@mr ~]# cd httpd-2.4.54
- [root@mr httpd-2.4.54]# ls
- ABOUT_APACHE BuildBin.dsp docs InstallBin.dsp modules ROADMAP
- acinclude.m4 buildconf emacs-style LAYOUT NOTICE server
- Apache-apr2.dsw CHANGES httpd.dep libhttpd.dep NWGNUmakefile srclib
- Apache.dsw changes-entries httpd.dsp libhttpd.dsp os support
- apache_probes.d CMakeLists.txt httpd.mak libhttpd.mak README test
- ap.d config.layout httpd.spec LICENSE README.CHANGES VERSIONING
- build configure include Makefile.in README.cmake
- BuildAll.dsp configure.in INSTALL Makefile.win README.platforms
- [root@mr httpd-2.4.54]# ./configure --prefix=/usr/local/apache \
- > --enable-so \
- > --enable-ssl \
- > --enable-cgi \
- > --enable-rewrite \
- > --with-zlib \
- > --with-pcre \
- > --with-apr=/usr/local/apr \
- > --with-apr-util=/usr/local/apr-util/ \
- > --enable-modules=most \
- > --enable-mpms-shared=all \
- > --with-mpm=prefork
- ......
- config.status: executing default commands
- configure: summary of build options:
- Server Version: 2.4.54
- Install prefix: /usr/local/apache
- C compiler: gcc
- CFLAGS: -g -O2 -pthread
- CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
- LDFLAGS:
- LIBS:
- C preprocessor: gcc -E
- [root@mr httpd-2.4.54]# make && make install
- ......
- Installing build system files
- mkdir /usr/local/apache/build
- Installing man pages and online manual
- mkdir /usr/local/apache/man
- mkdir /usr/local/apache/man/man1
- mkdir /usr/local/apache/man/man8
- mkdir /usr/local/apache/manual
- make[1]: Leaving directory '/root/httpd-2.4.54'
- [root@mr httpd-2.4.54]# cd
- [root@mr ~]# ls
- anaconda-ks.cfg apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz
- apr-1.7.0 apr-util-1.6.1 httpd-2.4.54
- [root@mr ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
- [root@mr ~]# cat /etc/profile.d/httpd.sh
- export PATH=/usr/local/apache/bin:$PATH
- [root@mr ~]# source /etc/profile.d/httpd.sh
- [root@mr ~]# which httpd
- /usr/local/apache/bin/httpd
- [root@mr ~]# ls /usr/local/apache/
- bin build cgi-bin conf error htdocs icons include logs man manual modules
- [root@mr ~]# ln -s /usr/local/apache/include/ /usr/include/apache
- [root@mr ~]# vim /etc/man_db.conf
- MANDATORY_MANPATH /usr/man
- MANDATORY_MANPATH /usr/share/man
- MANDATORY_MANPATH /usr/local/share/man
- MANDATORY_MANPATH /usr/local/apache/man(添加这一行)
- [root@mr ~]# cd /usr/lib/systemd/system
- [root@mr system]# ls
- auditd.service runlevel0.target
- autovt@.service runlevel1.target
- basic.target runlevel1.target.wants
- basic.target.wants runlevel2.target
- ......
- rngd-wake-threshold.service user-.slice.d
- rpcbind.target vgauthd.service
- rsyslog.service vmtoolsd.service
- [root@mr system]# cp sshd.service httpd.service
- [root@mr system]# vim httpd.service
- [Unit]
- Description=web server daemon
- Documentation=man:httpd(5)
- After=network.target sshd-keygen.target
- [Service]
- Type=forking
- ExecStart=/usr/local/apache/bin/apachectl start
- ExecReload=/bin/kill -HUP $MAINPID
- ExecStop=/usr/local/apache/bin/apachectl stop
- [Install]
- WantedBy=multi-user.target
- [root@mr system]# cd
- [root@mr ~]# systemctl daemon-reload
- [root@mr ~]# systemctl status httpd
- ● httpd.service - web server daemon
- Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
- Active: inactive (dead)
- Docs: man:httpd(5)
- [root@mr ~]# systemctl start httpd
- [root@mr ~]# ss -antl
- State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
- LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
- LISTEN 0 128 *:80 *:*
- LISTEN 0 128 [::]:22 [::]:*
- [root@mr ~]# systemctl enable httpd
- Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
- [root@mr ~]# systemctl status httpd
- ● httpd.service - web server daemon
- Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
- Active: active (running) since Tue 2022-08-02 20:12:20 CST; 53min ago
- Docs: man:httpd(5)
- Main PID: 48353 (httpd)
- Tasks: 6 (limit: 24717)
- Memory: 5.8M
- CGroup: /system.slice/httpd.service
- ├─48353 /usr/local/apache/bin/httpd -k start
- ├─48354 /usr/local/apache/bin/httpd -k start
- ├─48355 /usr/local/apache/bin/httpd -k start
- ├─48356 /usr/local/apache/bin/httpd -k start
- ├─48357 /usr/local/apache/bin/httpd -k start
- └─48358 /usr/local/apache/bin/httpd -k start
- Aug 02 20:12:02 mr systemd[1]: Starting web server daemon...
- Aug 02 20:12:20 mr apachectl[48350]: AH00558: httpd: Could not reliably determine the server's fully qua>
- Aug 02 20:12:20 mr systemd[1]: Started web server daemon.
- [root@mr ~]#
复制代码 3.2 安装mysql
- [root@mr ~]# dnf -y install ncurses-devel openssl-devel openssl cmake mariadb-devel
- ......
- mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
- mariadb-devel-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64
- ncurses-c++-libs-6.1-9.20180224.el8.x86_64
- ncurses-devel-6.1-9.20180224.el8.x86_64
- Complete!
- [root@mr ~]#
- [root@mr ~]# useradd -r -M -s /sbin/nologin mysql
- [root@mr ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
- ......
- HTTP request sent, awaiting response... 200 OK
- Length: 674830866 (644M) [application/x-tar-gz]
- Saving to: ‘mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz’
- mysql-5.7.38-linux-glibc2. 100%[=====================================>] 643.57M 659KB/s in 9m 26s
- 2022-08-02 22:09:46 (1.14 MB/s) - ‘mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz’ saved [674830866/674830866]
- [root@mr ~]# ls
- anaconda-ks.cfg apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz
- apr-1.7.0 apr-util-1.6.1 httpd-2.4.54 mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
- [root@mr ~]# tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
- [root@mr ~]# cd /usr/local/
- [root@mr local]# ls
- apache apr-util etc include lib64 mysql-5.7.38-linux-glibc2.12-x86_64 share
- apr bin games lib libexec sbin src
- [root@mr local]# mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql
- [root@mr local]# ls
- apache apr apr-util bin etc games include lib lib64 libexec mysql sbin share src
- [root@mr local]# chown -R mysql.mysql mysql
- [root@mr local]# ll
- total 0
- drwxr-xr-x. 14 root root 164 Aug 2 19:53 apache
- drwxr-xr-x. 6 root root 58 Aug 2 19:38 apr
- drwxr-xr-x. 5 root root 43 Aug 2 19:44 apr-util
- drwxr-xr-x. 2 root root 6 May 19 2020 bin
- drwxr-xr-x. 2 root root 6 May 19 2020 etc
- drwxr-xr-x. 2 root root 6 May 19 2020 games
- drwxr-xr-x. 2 root root 6 May 19 2020 include
- drwxr-xr-x. 2 root root 6 May 19 2020 lib
- drwxr-xr-x. 3 root root 17 Aug 1 15:49 lib64
- drwxr-xr-x. 2 root root 6 May 19 2020 libexec
- drwxr-xr-x. 9 mysql mysql 129 Aug 2 22:11 mysql
- drwxr-xr-x. 2 root root 6 May 19 2020 sbin
- drwxr-xr-x. 5 root root 49 Aug 1 15:49 share
- drwxr-xr-x. 2 root root 6 May 19 2020 src
- [root@mr local]# ls /usr/local/mysql/
- bin docs include lib LICENSE man README share support-files
- [root@mr local]# ln -s /usr/local/mysql/include /usr/include/mysql
- [root@mr local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
- [root@mr local]# vim /etc/man_db.conf
- MANDATORY_MANPATH /usr/man
- MANDATORY_MANPATH /usr/share/man
- MANDATORY_MANPATH /usr/local/share/man
- MANDATORY_MANPATH /usr/local/mysql/man
- [root@mr local]# cd
- [root@mr ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
- [root@mr ~]# source /etc/profile.d/mysql.sh
- [root@mr ~]# which mysql
- /usr/local/mysql/bin/mysql
- [root@mr ~]#
- [root@mr ~]# mysqld --initialize --user mysql --datadir /opt/data
- 2022-08-02T14:22:01.195167Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
- 2022-08-02T14:22:01.338468Z 0 [Warning] InnoDB: New log files created, LSN=45790
- 2022-08-02T14:22:01.364317Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
- 2022-08-02T14:22:01.423393Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 799aa4e2-126e-11ed-a53b-000c29f0dfce.
- 2022-08-02T14:22:01.424482Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
- 2022-08-02T14:22:01.621913Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
- 2022-08-02T14:22:01.621947Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
- 2022-08-02T14:22:01.622320Z 0 [Warning] CA certificate ca.pem is self signed.
- 2022-08-02T14:22:01.648745Z 1 [Note] A temporary password is generated for root@localhost: <rC:S!uXs6yk
- [root@mr ~]# echo '<rC:S!uXs6yk' > pass
- [root@mr ~]# rpm -qa|grep mariadb
- mariadb-connector-c-config-3.1.11-2.el8_3.noarch
- mariadb-connector-c-3.1.11-2.el8_3.x86_64
- mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
- mariadb-devel-10.3.28-1.module_el8.3.0+757+d382997d.x86_64
- [root@mr ~]# dnf -y remove mariadb*
- Removed:
- mariadb-connector-c-3.1.11-2.el8_3.x86_64
- mariadb-connector-c-config-3.1.11-2.el8_3.noarch
- mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
- mariadb-devel-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64
- Complete!
- [root@mr ~]# rpm -qa|grep mariadb
- [root@mr ~]# vim /etc/my.cnf
- [mysqld]
- basedir = /usr/local/mysql
- datadir = /opt/data
- socket = /tmp/mysql.sock
- port = 3306
- pid-file = /opt/data/mysql.pid
- user = mysql
- skip-name-resolve
- [root@mr ~]# cd /usr/local/mysql/
- [root@mr mysql]# ls
- bin docs include lib LICENSE man README share support-files
- [root@mr mysql]# cd support-files/
- [root@mr support-files]# ls
- magic mysqld_multi.server mysql-log-rotate mysql.server
- [root@mr support-files]# file mysql.server
- mysql.server: POSIX shell script, ASCII text executable
- [root@mr support-files]# cp mysql.server /etc/init.d/mysqld
- [root@mr support-files]# vim /etc/init.d/mysqld
- basedir=/usr/local/mysql
- datadir=/opt/data
- [root@mr support-files]# chmod +x /etc/init.d/mysqld
- [root@mr support-files]# cd
- [root@mr ~]# service mysqld start
- Starting MySQL.Logging to '/opt/data/mr.err'.
- SUCCESS!
- [root@mr ~]# ss -antl
- State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
- LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
- LISTEN 0 128 *:80 *:*
- LISTEN 0 128 [::]:22 [::]:*
- LISTEN 0 80 *:3306 *:*
- [root@mr ~]# chkconfig --add mysqld
- [root@mr ~]# chkconfig --list
- Note: This output shows SysV services only and does not include native
- systemd services. SysV configuration data might be overridden by native
- systemd configuration.
- If you want to list systemd services use 'systemctl list-unit-files'.
- To see services enabled on particular target use
- 'systemctl list-dependencies [target]'.
- mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- [root@mr ~]#
- [root@mr ~]# systemctl disable --now firewalld
- Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
- Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
- [root@mr ~]# vim /etc/selinux/config
- SELINUX=disabled
- [root@mr ~]# reboot
- [root@master ~]# ss -antl
- State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
- LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
- LISTEN 0 80 *:3306 *:*
- LISTEN 0 128 *:80 *:*
- LISTEN 0 128 [::]:22 [::]:*
- [root@master ~]#
- [root@master ~]# dnf provides libncurses.so.5
- Last metadata expiration check: 2:52:43 ago on Tue 02 Aug 2022 07:55:40 PM CST.
- Module yaml error: Unexpected key in data: static_context [line 9 col 3]
- Module yaml error: Unexpected key in data: static_context [line 9 col 3]
- ncurses-compat-libs-6.1-9.20180224.el8.i686 : Ncurses compatibility libraries
- Repo : base
- Matched from:
- Provide : libncurses.so.5
- [root@master ~]# dnf -y install ncurses-compat-libs
- [root@master ~]# cat pass
- <rC:S!uXs6yk
- [root@master ~]# mysql -uroot -p'<rC:S!uXs6yk'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 3
- Server version: 5.7.38
- Copyright (c) 2000, 2022, Oracle and/or its affiliates.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> set password = password('marui');
- Query OK, 0 rows affected, 1 warning (0.01 sec)
- mysql> exit
- Bye
- [root@master ~]# mysql -uroot -pmarui
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 4
- Server version: 5.7.38 MySQL Community Server (GPL)
- Copyright (c) 2000, 2022, Oracle and/or its affiliates.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> exit
- Bye
- [root@master ~]#
复制代码 3.3 安装php
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |