LNMP, Mariadb安装, 服务管理

LNMP环境介绍

  • LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP。
  • MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。(数据包括用户名、密码、文章内容等)
  • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。用PHP开发的网站:qq.com、baidu.com、google.com、ask.apelearn.com(部分或整体用到php)
  • Nginx是一个小巧而高效的Linux下的Web服务器软件。
    Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
    用户访问服务器,最先接收请求的就是Nginx,有静态的请求会处理图片、js、css等,有动态的请求即php的请求,但是不处理,把php的请求转给后面的php-fpm

优点
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

  • php-fpm会处理php相关的请求(即动态的请求)

静态,指的是Nginx可以直接处理的图片、js、css、视频、音频、flash等等
动态,指的是那些需要和数据库打交道的请求。比如,用户登录过程,比如查看一篇文章,或者写一篇文章

Mariadb安装

  • MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在GNU GPL下开源。MariaDB的开发是由MySQL的一些原始开发者领导的,他们担心甲骨文公司收购MySQL后会有一些隐患。

  • MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。
    从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。

安装MariaDB 10.4.7

以下的命令检查上一条命令是否运行成功,结果为0代表成功,如第三步可用到:

echo $?

如果提示缺少一些依赖项或软件,真接yum,如:

yum install -y libaio libaio-devel

1. 下载程序

选择源码版会更复杂,下面的是普通版linux 64位

cd /usr/src
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.4.7/bintar-linux-systemd-x86_64/mariadb-10.4.7-linux-systemd-x86_64.tar.gz

下载后将文件解压缩

tar -zxvf mariadb-10.4.7-linux-systemd-x86_64.tar.gz

将解压缩的文件放在工作路径和改名

mv mariadb-10.4.7-linux-systemd-x86_64 /usr/local/mysql

2. 安装准备工作

生成库文件目录,数据库储存数据的目录

mkdir -p /data/mysql //两层目录同时生成

增加使用mysql服务的帐号,即mysql服务的属主帐号为一个非root的帐号,当mysql被黑了拿到了这个非root帐号,对系统的影响没那么大

useradd -M -s /sbin/nologin mysql

改变库目录的owner, 安装或使用时mysql服务或帐号就可以自由的在里面生成文件

chown -R mysql:mysql /data/mysql

3. 安装,安装的是二进制包,只需./scripts,不需要make和make install

cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

4. 启动服务

将服务启动脚本放到系统的启动库里

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

配置脚本文件

vi /ect/init.d/mysqld //填写路径
basedir=/usr/local/mysql
datadir=/data/mysql

修改配置文件

vi /etc/my.cnf //修改几个路径datadir = /data/mysql; pid-file = /data/mysql/mariadb.pid; socket = /tmp/mysql.sock; log-error = /data/mysql/mariadb.log

添加服务到启动项里,上面一步是必须的,而且文件权限要为755

chkconfig --add mysqld
添加后默认启动级别2-5为on,代表开机就会启动

启动服务,两个命令是同一个意思,mysqld放到启动库后就可以用命令2

/etc/init.d/mysqld start //1
service mysql start //2

检查是否启动

ps aux | grep mysql //结果行数大于2
netstat -ant //看到侦听3306端口

5. 启动客户端

/usr/local/mysql/bin/mysql -uroot

即可进入mysql的使用界面。

6. 其他操作

缩短命令长度

软链接方式

ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql

增加环境变量方式

echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
source /etc/profile

即可使用以下命令登陆mysql

mysql -uroot
设定密码:mysqladmin -uroot password “aminglinux”
再次登录: mysql -uroot -paminglinux
mysql -uroot -paminglinux -S/tmp/mysql.sock #通过socket的连接方式;
mysql -uroot -paminglinux -h192.168.222.128 -P3306 #通过IP和端口号的连接方式;
mysql -uroot -paminglinux -hlocalhost -P 3306 #IP没权限可以使用localhost;

整理的mysql5.6.43自动安装脚本

mysql的安装跟mariadb的安装基本上是一模一样。
是在全新的centos7系统上测试安装,所以不会缺少包,测试多次成功。

#! /bin/bash
cd /usr/local/src
yum install -y wget
   wget -c  http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
     tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.43-linux-glibc2.12-x86_64 ../mysql
    cd ../mysql
     useradd mysql
     mkdir -p /data/mysql
    chown mysql:mysql /data/mysql
     yum install -y perl-5.16.3-294.el7_6.x86_64
   yum install -y perl-Data-Dumper
    yum install -y libaio-devel
    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
sleep 10
    cp support-files/mysql.server /etc/init.d/mysqld
     chkconfig --add mysqld
        sed -r '45,48s/(basedir=)(.*)/\1\/usr\/local\/mysql/' -i /etc/init.d/mysqld
        sed -r '45,48s/(datadir=)(.*)/\1\/data\/mysql/' -i /etc/init.d/mysqld
        sed -r '2,3s/(datadir=)(.*)/\1\/data\/mysql/' -i /etc/my.cnf
        sed -r '2,3s/(socket=)(.*)/\1\/tmp\/mysql.sock/' -i /etc/my.cnf
        sed -r '12,13s/(log-error=)(.*)/\1\/var\/log\/mysql.log/' -i /etc/my.cnf
        sed -r '12,13s/(pid-file=)(.*)/\1\/var\/run\/mysql.pid/' -i /etc/my.cnf
        service mysqld start
        if [ $? -eq 0 ]; then
        echo "mysqld start successfully"
        else
        echo "fault"
        fi

结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值