LNMP环境介绍,Mariadb安装,服务管理,mariadb安装3

LNMP环境介绍

  • Nginx 处理的请求有两种,分为 静态与动态
  • 图片,js,css,视频,音频,flash 等都是静态请求,这些数据都不是保存在数据库里面的
  • 动态请求通常来讲,须要的数据是在数据库里面的,须要到数据库调用数据,须要php参与

Mariadb安装

  • mariadb 官网地址是 https://mariadb.org/
  • 如图,下载点击 download
  • 进入这个页面后,再点击 download
  • 进入这个页面后,仍是点击 download ,10.4.8 是最新的稳定版本
  • 进入这个页面后,发现有不少不一样版本的包能够下载
  • 使用右侧的筛选功能,operating system 是筛选使用的系统的
  • 由于是安装在 linux 上面,因此这里选择 generic linux 表示运行的环境是linux
  • 页面拉到下面,继续筛选,右侧选择 64-bit,由于个人电脑是64位的系统,因此选择64-bit
  • mirror表示镜像地址,不一样的镜像地址网速不同,若是想下载快一点
  • 就选择离本身近的镜像,由于我在国内下载,因此选择国内的镜像地址
  • 这里选择 清华大学的镜像地址
  • 三个选项筛选完成,就剩下两个版本的程序包了
  • 一个是 systemd ,一个是 glibc
  • 这里选择 systemd 版本的下载,glibc版本还须要安装glibc包,若是没有的话
  • 点击下载后,打开浏览器的下载管理页面
  • 能够看到文件的下载地址,把这个地址复制下来,取消掉浏览器的下载
  • 直接在 linux 里面下载
  • 通常下载文件统一保存在一个固定的目录方便管理
  • 这里使用 /usr/local/src/ 目录做为下载文件的目录
  • 首先 cd 进入 /usr/local/src/ 目录
  • 如图,使用 wget + 文件下载地址
  • 这样系统就会自动下载文件到当前所在目录里面
  • 如图,下载完成后,红色的文件就是下载回来的程序包
  • 如图,下载好程序包后,使用命令 tar zxvf 文件名称
  • 下载回来的程序包都是压缩包,须要解压缩
  • 这个程序包后缀名是 .tar.gz ,因此可使用 tar zxvf 文件名 来解压缩
  • 解压完成后,查看src目录
  • 能够看到多了一个跟压缩文件同名的目录,蓝色显示的就是目录
  • 这个同名目录就是解压出来的文件存放的地方
  • 上图是三种不一样后缀名的压缩文件的解压方法
  • 解压三种格式的文件,选项分别是 z,j,J
  • z 对应 gz压缩,j 对应 bz2压缩,J 对应 xz压缩
  • 还可使用单独的工具解压或者压缩这三种格式的文件
  • 如图,gzip 1.txt 能够把 1.txt 压缩成 gz文件
  • 而后 gzip -d 1.txt.gz 能够解压缩 1.txt.gz 文件
  • 下面的 bzip 对应 bz2文件,xz 对应 xz文件
  • tar 是一个打包的工具,可是使用上面的选项,也能够拥有压缩和解压缩的功能
  • 压缩是把一个文件经过算法减小体积
  • 打包是把多个小文件打包成为一个大文件
  • 打包压缩就是 先把多个文件打包成为一个文件,而后经过算法压缩体积
  • 上图是 压缩打包 gz格式和bz2格式文件的方法
  • 如图,解压文件后,把解压的文件目录 mv 移动到 /usr/local/ 目录下面并更名为 mysql
  • 之后维护机器,统一把数据库放在 /usr/local/mysql 目录下面,方便查找
  • ls /usr/local/mysql 查看一下目录内的文件,看是否移动成功
  • 如图,目录内有这些文件,说明移动成功了
  • 如图,查看这个文件,能够查看安装文档
  • 如图,执行上图命令能够安装 mysql
  • 可是直接执行会报错,由于目录 /data/mysql 尚未建立,用户mysql也不存在
  • 因此须要先建立目录 /data/mysql/
  • 由于目录 /data/ 和 /data/mysql 都不存在
  • 想建立 /data/mysql/ 须要先建立 /data/ 目录
  • 使用 -p 选项就能够把不存在的 /data/ 和 /data/mysql 同时建立
  • p选项就是能够级联建立目录,也就是同时建立多个目录
  • 如图,还须要建立一个 mysql 用户
  • 可是这个用户跟普通的用户是不一样的,这个用户只是当作一个服务来使用
  • 因此不须要登陆,也不须要家目录
  • 所以,使用了 -M 选项,就是指定这个用户不建立家目录
  • 选项 -s 就是指定这个用户的shell是 /sbin/nologin 也就是不能登陆的shell
  • 如图,还须要指定 /data/mysql 目录的全部者跟所属组为 mysql
  • /data/mysql/ 目录是存放数据库数据的
  • 如图,执行初始化安装命令,出现错误,安装失败
  • 初始化就是生成一个mysql的库,没有这个库就不能启动服务
  • 查看上一条命令执行成功仍是失败,可使用 echo $?
  • 若是返回 0 表明成功
  • 若是返回非 0 的数字,表明执行出了问题
  • 如图,查看上条命令执行是否成功,返回 1 表示执行失败
  • 这个命令必须在执行完上条命令后就使用,才能显示上条命令的执行状况
  • 看错误信息应该跟libaio有关
  • 如图,安装 libaio 的两个包
  • 而后再执行初始化安装命令
  • 如图,看信息应该是安装成功了
  • 可是仍是使用 echo $? 检测一下执行结果,返回0,表示执行成功
  • 查看 /data/mysql/ 目录
  • 如图,能够看到有这些文件存在,其中有一个目录叫作 mysql,这个就是主要的库
  • 如图,在 /usr/local/mysql/ 目录内,有一个目录是 support-files
  • 查看 support-files 目录的内容,里面有一个文件 mysql.server
  • 这个文件就是启动 mysql服务的脚本文件
  • 如图,把这个mysql.server文件,复制一份到/etc/init.d/目录并重命名为 mysqld
  • 而后 mysqld 这个文件还须要编辑一下内容
  • 使用 vi /etc/init.d/mysqld
  • 如图,进入编辑文件后,往下找到这两行数据 basedir= 和 datadir=
  • 这两行数据后面都是空的,须要写上程序所在的地址和数据库所在的地址
  • 如图,basedir= 后面写 /usr/local/mysql 这个数据库程序所在的地址
  • datadir= 后面写 /data/mysql 这个库文件所在的地址
  • 而后就保存退出
  • 这个 /etc/init.d/mysqld 就是 mysql 服务的启动脚本

服务管理

  • 除了手动启动外,还能够把这个服务添加到系统的服务列表里面
  • 开启系统的时候,系统会自动启动一些服务,好比网络服务等
  • 早期的centOS 管理系统服务的工具是 chkconfig
  • chkconfig --list 能够查看系统全部服务
  • 从 centOS7 开始,再也不使用 chkconfig工具管理服务了
  • 而是使用 systemctl list-unit-files 查看系统全部服务
  • 不过centOS7也可使用 chkconfig
  • 如图,使用 chkconfig --list 查看服务
  • 只看到两个服务,其它的服务要使用 systemctl list-unit-files 才能看到
  • 如图,使用 chkconfig --add mysqld 把 mysqld 服务加入到 chkconfig里面
  • 再查看 chkconfig --list 能够看到多了 mysqld服务
  • 不过一个服务要加入 chkconfig 有几个条件须要知足
  • 首先,mysqld文件必须放到 /etc/init.d/目录下面
  • 而后,mysqld文件的执行权限应该是755,权限不够的话可能执行不了
  • 如图,使用 chkconfig mysqld off 就能够关闭服务
  • 查看服务列表,能够看到,运行级别 0-6 全都是 关 的状态
  • 这种状况下,开机的时候,这个服务就不会被启动
  • 如图,使用 chkconfig mysqld on 就能够把mysqld服务打开
  • 如图,运行级别 2-5 都是 开 的状态
  • 这样开机的时候,mysqld服务就会随着系统一块儿开启
  • 如图,这是两种手动启动服务的方法
  • 第一种是 /etc/init.d/mysqld start
  • 第二种是 service mysqld start
  • 使用第二种方法须要先将服务加入系统的服务列表才行,不过会有一些错误

mariadb安装3

  • 如图,使用 service mysqld start 启动mysqld服务,出现错误
  • 如图,复制 systemctl status mysqld.service
  • 在下面执行这条命令
  • 能够看到更详细的错误信息
  • 看信息,好像是日志不存在
  • 这里出现一个新概念,mariadb 的配置文件是 /etc/my.cnf
  • 如图,这四个位置的地址须要修改
  • 修改成上图地址
  • datadir 地址为 /data/mysql
  • socket 地址为 /tmp/mysql.sock ,socket文件放在tmp目录
  • log-error 地址为 /data/mysql/mariadb.log ,这是错误日志的存放地址
  • pid-file 地址为 /data/mysql/mariadb.pid
  • 而后保存退出
  • 这个配置文件是系统安装的时候就已经存在了
  • 如图,安装linux系统的时候,默认安装了 5.5.60 版本的 mariadb-libs
  • 因此自带了 /etc/my.cnf 配置文件,如今直接修改就能够用了
  • 如图,配置好配置文件后,再执行 service mysqld start 就成功了
  • 没有显示错误信息
  • 使用上图命令查看,是否有 mysql 的进程,肯定mysql服务是否已经启动
  • 如图,还可使用 netstat -lnp 查看网络端口
  • 3306 就是mysqld 服务的端口,这里有这个端口说明服务启动了
  • 如图,tmp目录下的 mysql.sock 文件是一个 socket文件
  • socket文件是用来通讯的,ls -l 查看,文件开头是 s 表示这是socket类型文件
  • 如图,使用 /usr/local/mysql/bin/mysql -u root 就能够启动 mariadb的终端
  • 能够在这个终端里面对 mariadb进行操做
  • 可是每次使用都须要输入 /usr/local/mysql/bin/mysql 太长了,很麻烦
  • 有没有简单的方式使用呢
  • 如图,能够把/usr/local/mysql/bin/mysql 作一个软连接到 /usr/bin/ 目录
  • 并命名为 mysql
  • ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
  • 这样就把/usr/local/mysql/bin/mysql软连接到 /usr/bin/mysql 了
  • /usr/bin/mysql 就是一个软连接文件
  • 而后直接使用 mysql -u root 就能够进入终端了
  • 若是不想要这个软连接文件了,可使用 rm -f /usr/bin/mysql 删除
  • 这样直接使用 mysql 命令就再也不生效了
  • 如图,echo $PATH 能够查看系统环境变量
  • 环境变量就是一些目录,用冒号 : 分隔,如图
  • 在这些目录里面的命令文件能够直接使用
  • 能够看到,环境变量里面有 /usr/bin 这个目录
  • 刚才把/usr/local/mysql/bin/mysql这个文件的软连接文件放在 /usr/bin目录里面
  • 能够直接使用,就是由于/usr/bin 是环境变量里面的目录
  • 在 shell 里面直接输入命令,系统会在环境变量的目录里面寻找是否有这个命令文件
  • 若是有救执行,没有就提示没有这个文件
  • 因此把/usr/local/mysql/bin/mysql的软连接放到 /usr/bin里面
  • 就能够直接运行 mysql 命令了
  • 环境变量是可变的,也能够添加其它目录进去环境变量里面
  • 这样别的目录里面的文件也能够被直接执行了
  • 如图,使用 PATH=$PATH:/usr/local/mysql/bin
  • 就能够把 /usr/local/mysql/bin 目录添加进入环境变量
  • 这样也能够直接输入 mysql 命令进入终端
  • 由于系统会搜索环境变量的目录是否有这个文件存在
  • 而 /usr/local/mysql/bin 目录在环境变量里面
  • 可是有一个问题,这样修改环境变量以后,若是断开链接或者系统重启
  • 环境变量就会恢复默认的状态
  • 若是想永久改变环境变量,须要修改配置文件
  • 使用上图命令,把 export PATH=$PATH:/usr/local/mysql/bin 这行信息
  • 追加到 /etc/profile 文件里面,这个就是环境变量配置文件
  • 这样就算系统重启或者断开终端,环境变量也不会改变了
  • 修改配置文件后,要配置文件生效
  • 能够断开终端,从新链接,或者使用 source /etc/profile 从新加载
  • 如图,能够设置登陆密码
  • mysqladmin -uroot password "aminglinux"
  • 意思是对用户 root 设置登陆密码 aminglinux
  • 这样以 root 用户登陆的时候,就须要输入密码才能登陆
  • 如图,设置密码后,使用 mysql -uroot 登陆,出现错误信息
  • 再使用 mysql -uroot -paminglinux 就登陆成功了
  • 如图,mysql -uroot -paminglinux -S/tmp/mysql.sock 也能够链接 mysql
  • 就是使用 mysql.sock 链接数据库
  • 若是数据库在别的机器上面,须要远程链接
  • 如图,可使用 mysql -uroot -paminglinux -h192.168.222.128 -P3306
  • 就是 ip地址 + 端口号,不过权限不够的话是连不上去的
相关文章
相关标签/搜索