运维利器之lnmp架构搭建-基于linux系统centos7.5
  zZHnZavbRDNq 2023年11月02日 21 0


lnmp架构搭建

  • lnmp简单理解就是下面几个服务的结合


运维利器之lnmp架构搭建-基于linux系统centos7.5_mysql


废话不多说开始搭建

  • 小编是个美男子,话说人狠的那种,狠主要体现在加班和谈对象方面

系统环境

系统

系统版本

内存

ip

网络模式

Linux

centos7.5

2G

192.168.100.133

NAT(也就是可以上网)

如果不能上网的话,可以把他们几个包下载下来,wget命令后面的就是包所在的网址,直接在浏览器里面输入这个网址就可以下载相对应的包了,然后把包传到相对应的服务器上面去,切记,本篇文章是单击部署,支持分布式部署

搭建nginx

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

[root@localhost ~]# vim /etc/selinux/config  #修改linux的配置文件
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

[root@localhost ~]# hostnamectl set-hostname lnmp  #更改用户名为lnmp

[root@lnmp ~]# systemctl stop firewalld  #关闭防火墙,当你发现网站不能正常链接的时候,检查下防火墙是否开启
[root@lnmp ~]# systemctl stop NetworkManager #关闭网络守护进程


[root@localhost ~]# init 6  #重启服务器

Connecting to 192.168.100.133:22...   #再次链接服务器
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Sat Feb 27 19:09:21 2021 from 192.168.100.1
[root@lnmp ~]# 

[root@lnmp ~]# yum -y install wget   #安装wget服务,用来下载软件包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-18.el7_6.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================================================
 Package                        架构                             版本                                       源                              大小
=================================================================================================================================================
正在安装:
 wget                           x86_64                           1.14-18.el7_6.1                            base                           547 k

事务概要
=================================================================================================================================================
安装  1 软件包

总下载量:547 k
安装大小:2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm                                                                                           | 547 kB  00:00:03     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : wget-1.14-18.el7_6.1.x86_64                                                                                                  1/1 
  验证中      : wget-1.14-18.el7_6.1.x86_64                                                                                                  1/1 

已安装:
  wget.x86_64 0:1.14-18.el7_6.1                                                                                                                  

完毕!


[root@lnmp ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz      #下载nginx包
--2021-02-27 19:37:06--  http://nginx.org/download/nginx-1.16.1.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 2a05:d014:edb:5704::6, 2a05:d014:edb:5702::6
正在连接 nginx.org (nginx.org)|3.125.197.172|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1032630 (1008K) [application/octet-stream]
正在保存至: “nginx-1.16.1.tar.gz”

100%[=======================================================================================================>] 1,032,630   4.08KB/s 用时 5m 31s 

2021-02-27 19:42:40 (3.05 KB/s) - 已保存 “nginx-1.16.1.tar.gz” [1032630/1032630])

[root@lnmp ~]# ls
anaconda-ks.cfg  nginx-1.16.1.tar.gz






[root@lnmp ~]# yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel  
#安装支持程序我们源码编译
[root@lnmp ~]# tar xf nginx-1.16.1.tar.gz -C /usr/src/     #将包解压到/usr/local目录下面
[root@lnmp ~]# cd /usr/src/nginx-1.16.1/       #到解包的目录下面进行编译
[root@lnmp nginx-1.16.1]# ls 
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@lnmp ]#nginx-1.16.1]# ./configure --prefix=/usr/local/nginx && make && make install 
#进行编译安装
[root@lnmp nginx-1.16.1]# ln -s /usr/local/nginx/sbin/* /usr/bin/ #通过链接的方式,将命令链接出来
[root@lnmp nginx-1.16.1]#which nginx   #确定下nginx命令是否生成,如果没有的话,可能上面一步没有执行成功,可以用echo $?看看是不是返回的0,不是0的话就没有成功
/usr/bin/nginx
[root@lnmp nginx-1.16.1]#  cd /usr/local/nginx/conf/   #到nginx的配置目录里面,准备配置文件
[root@lnmp conf]# ls 
fastcgi.conf          fastcgi_params.default  mime.types          nginx.conf.default   uwsgi_params
fastcgi.conf.default  koi-utf                 mime.types.default  scgi_params          uwsgi_params.default
fastcgi_params        koi-win                 nginx.conf          scgi_params.default  win-utf

[root@lnmp conf]# egrep -v "#|^$" nginx.conf.default > nginx.conf #把原有的配置文件,重新grep一下没有用的东西和不用的东西,重新导入到nginx.conf文件中去
[root@lnmp conf]# cat nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

[root@lnmp conf]# nginx -t 
#检测一下配置文件有没有出错,注意这个只能检查你语法上的错误,你的配置上面有没有问题,这个监测不出来
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

#使用systemctl管理nginx
[root@lnmp conf]# vim /usr/lib/systemd/system/nginx.service   #下面的中文千万不要写进文件中,这个文件比较敏感,这里的中文只是注释作用
[Unit] #这个模块主要是对服务的描述
Description=nginx #描述服务是什么
After=network.target  # 描述服务的类别
[Service] #是服务的具体运行参数
Type=forking #后台运行的形式
ExecStart=/usr/local/nginx/sbin/nginx #启动命令
[Install] #服务安装的相关设置
WantedBy=multi-user.target

 
#开启nginx
[root@lnmp conf]# systemctl start nginx
[root@lnmp conf]# ss -antup | grep 80   #nginx用的是80端口,查看下nginx的端口有没有开,有的话代表开着了,所以如果你用的是阿里云的服务器的话,安全组要开启80端口,允许别人访问你
tcp    LISTEN     0      128       *:80                    *:*                   users:(("nginx",pid=18266,fd=6),("nginx",pid=18265,fd=6))
#查看下nginx的端口有没有开

**关于systemctl管理服务参数说明**
[Service]部分是服务的关键,是服务的一些具体运行参数的设置
Type=forking是后台运行的形式,
PIDFile为存放PID的文件路径,
ExecStart为服务的运行命令,
ExecReload为重启命令,
ExecStop为停止命令,
rivateTmp=True表示给服务分配独立的临时空间, 
*注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错;
在浏览器上验证下nginx

运维利器之lnmp架构搭建-基于linux系统centos7.5_mysql_02


上面的ip地址是你的服务器ip地址

搭建php

  • php和nginx结合使用是有2中方式的,

运维利器之lnmp架构搭建-基于linux系统centos7.5_lnmp_03


编译安装php
[root@lnmp conf]# cd ~

[root@lnmp ~]# yum -y install epel-release  #用yum安装一个epel源,这个文件是扩展的一些服务的源
[root@lnmp ~]# yum -y clean all
[root@lnmp ~]# yum makecache
[root@lnmp ~]# yum -y install  gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel libmcrypt libmcrypt-devel
[root@lnmp ~]# wget https://www.php.net/distributions/php-5.6.40.tar.gz
[root@lnmp ~]# echo "$?"
0
[root@lnmp ~]# ls 
anaconda-ks.cfg  nginx-1.16.1.tar.gz  php-5.6.40.tar.gz
[root@lnmp ~]# tar xf php-5.6.40.tar.gz -C /usr/src/
[root@lnmp ~]# cd /usr/src/php-5.6.40/
[root@lnmp php-5.6.40]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-ctype --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-fpm


#出现一下的式样就ok了
Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.


[root@lnmp php-5.6.40]# make && make install
php主要编译安装说明
[x]--prefix指定php的安装目录
[x]--with-config-file-path指定php的配置文件位置
[x]--with-mysql、--with-mysqli让php可以操作mysql
[x]--enable-fpm主要是nginx要来调用php语言得使用php-fpm
启动php
[root@lnmp php-5.6.40]# vim /etc/profile   #编辑环境配置文件,方便我们找到php命令

# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}


if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        UID=`/usr/bin/id -ru`
    fi
    USER="`/usr/bin/id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge
export PATH=$PATH:/usr/local/php/sbin/:/usr/local/php/bin/   #这个是要手动添加的内容


[root@lnmp php-5.6.40]# tail -1 /etc/profile  #查看添加的环境变量
export PATH=$PATH:/usr/local/php/sbin/:/usr/local/php/bin/
[root@lnmp php-5.6.40]# source /etc/profile #让他立即生效
[root@lnmp php-5.6.40]# php-fpm -t #检测一下配置文件有没有错误,现在报错是因为没有配置文件在里面,我们需要复制一份过去,
[04-Nov-2019 10:04:15] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[04-Nov-2019 10:04:15] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[04-Nov-2019 10:04:15] ERROR: FPM initialization failed
[root@lnmp php-5.6.40]# ls php.ini-
php.ini-development  php.ini-production
# deve是开发环境的,production是生成环境的
[root@lnmp php-5.6.40]# cp php.ini-production /usr/local/php/etc/php.ini
[root@lnmp php-5.6.40]# cd /usr/local/php/etc/
[root@lnmp etc]# ls 
pear.conf  php-fpm.conf.default  php.ini
[root@lnmp etc]# cp php-fpm.conf.default php-fpm.conf
[root@lnmp etc]# ls 
pear.conf  php-fpm.conf  php-fpm.conf.default  php.ini
[root@lnmp etc]# php-fpm -t
[04-Nov-2019 10:16:00] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
[root@lnmp etc]# php-fpm -v
PHP 5.6.40 (fpm-fcgi) (built: Nov  4 2019 09:37:11)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

#使用systemctl将php管理起来,并启动
[root@lnmp etc]# cat /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
[Install]
WantedBy=multi-user.target


[root@lnmp etc]# systemctl start php-fpm
[root@lnmp etc]# ss -antup | grep 9000
tcp    LISTEN     0      128    127.0.0.1:9000                  *:*                   users:(("php-fpm",pid=8872,fd=0),("php-fpm",pid=8871,fd=0),("php-fpm",pid=8870,fd=7))
修改nginx的配置,让php和nginx连用起来
[root@lnmp etc]# cd /usr/local/nginx/conf/
[root@lnmp conf]# cat nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
location / {
            root   html;
            index  index.html index.htm index.php; #必须加上.php结尾的主页,要不然nginx调用动态的时候找不到回直接报错就不找了
        }
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #去哪里寻找php文件。
            include        fastcgi_params;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
[root@lnmp conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@lnmp conf]# nginx -s reload
[root@lnmp conf]# cd /usr/local/nginx/html/
[root@lnmp html]# touch index.php #里边什么都不用写 

[root@lnmp html]# vim test.php
<?php
  echo "ce shi cheng gong";
?>

[root@lnmp html]# cat test.php 
<?php
  echo "ce shi cheng gong";
?>
验证php+nginx是否连接成功

运维利器之lnmp架构搭建-基于linux系统centos7.5_lnmp_04

mysql数据库安装

搭建mysql数据库
[root@lnmp html]# cd ~
[root@lnmp ~]# wget https://www.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39.tar.gz 
[root@lnmp ~]# ls
anaconda-ks.cfg      nginx-1.16.1.tar.gz  php-5.6.40.tar.gz.1
mysql-5.6.39.tar.gz  php-5.6.40.tar.gz    wget-log

[root@lnmp ~]# yum install -y gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel
[root@lnmp ~]# useradd -M -s /sbin/nologin mysql
[root@lnmp ~]# tar xf mysql-5.6.39.tar.gz -C /usr/src/
[root@lnmp ~]# cd /usr/src/mysql-5.6.39/
[root@lnmp mysql-5.6.39]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
[root@lnmp mysql-5.6.39]# echo "$?"
0
[root@lnmp mysql-5.6.39]# make && make install
[root@lnmp mysql-5.6.39]# echo "$?"
0
[root@lnmp mysql-5.6.39]# cp support-files/mysql.server /etc/init.d/mysqld
[root@lnmp mysql-5.6.39]# chmod +x /etc/init.d/mysqld
[root@lnmp mysql-5.6.39]# vim /etc/profile

    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge
export PATH=$PATH:/usr/local/php/sbin/:/usr/local/php/bin/
export PATH=$PATH:/usr/local/mysql/bin/

[root@lnmp mysql-5.6.39]# tail -1 /etc/profile #修改环境变量,本质是要服务器找到命令,所以做软连接也是可以的
export PATH=$PATH:/usr/local/mysql/bin/
[root@lnmp mysql-5.6.39]# source /etc/profile

#修改配置文件
[root@lnmp mysql-5.6.39]# vim /etc/my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/data/mysqluser=mysql
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet      = 512M
connect_timeout = 60
net_read_timeout = 120

[mysqld_safe]
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid

[root@lnmp mysql-5.6.39]# cat /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/data/mysql
user=mysql
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet      = 512M
connect_timeout = 60
net_read_timeout = 120

[mysqld_safe]
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid

重要的编译选项说明



初始化数据库
[root@zabbixlnmp mysql-5.6.39]# mkdir -p /data/mysql #建立数据目录
[root@lnmp mysql-5.6.39]# chown -R mysql:mysql  /usr/local/mysql /data/mysql/ #分别对数据目录,和运行目录授权
[root@lnmp mysql-5.6.39]# yum install -y perl-Module-Install #初始数据库的一个依赖程序
[root@lnmp mysql-5.6.39]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql  --datadir=/data/mysql/ #初始完成以后输出的特别像乱码,往上看,找到两个ok就初始化完成了
[root@lnmp mysql-5.6.39]# cat /usr/lib/systemd/system/mysqld.service #使用systemctl管理mysql
[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
[Install]
WantedBy=multi-user.target
[root@lnmp mysql-5.6.39]# systemctl start mysqld
[root@lnmp mysql-5.6.39]# ss -antup  | grep 3306
tcp    LISTEN     0      80        *:3306                  *:*                   users:(("mysqld",pid=26225,fd=10))
给mysql建立一个账号并验证连接
[root@lnmp mysql-5.6.39]# cd ~
[root@lnmp ~]# mysqladmin -h 127.0.0.1 -u root password '123456'
Warning: Using a password on the command line interface can be insecure.
[root@lnmp ~]# echo "$?"
0
[root@lnmp ~]# mysql -uroot -p123456 -h 127.0.0.1
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.6.39 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit

[root@lnmp ~]# mysql -uroot -p123456 -h 192.168.100.133 #验证密码在远处登录
mysql> exit

[root@lnmp ~]# vim /usr/local/nginx/html/test_mysql.php
<?php
$link=mysql_connect("127.0.0.1","root","123456");
if(!$link) echo "FAILD!连接错误,用户名密码不对";
else echo "OK!可以连接";
?>

[root@lnmp ~]# cat /usr/local/nginx/html/test_mysql.php #建立测试nginx+php+mysql 的测试文件
<?php
$link=mysql_connect("127.0.0.1","root","123456");
if(!$link) echo "FAILD!连接错误,用户名密码不对";
else echo "OK!可以连接";
?>
通过http://192.168.100.133/test_mysqsl.php

运维利器之lnmp架构搭建-基于linux系统centos7.5_php_05

结束


运维利器之lnmp架构搭建-基于linux系统centos7.5_mysql_06

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
zZHnZavbRDNq