LAMP架构【1】

  • LAMP架构介绍
  • MySQL、MariaDB介绍
  • MySQL安装
  • MariaDB安装
  • Apache安装
  • 安装PHP5
  • 安装PHP7
  • Apache和PHP结合

一、LAMP架构介绍

  • LAMP是Linux apache MySQL php的简写,即可吧apache MySQL和PHP安装在Linux系统上,
  • 组成一个坏境来运行PHP的脚本语言,通常是网站。
  • Linux是操作系统
  • apache提供web的一个软件
  • MySQL 存储的一个软件,数据库
  • PHP 脚本语言 
  • 三个角色可以在一台机器、也可以分开,但ApachePHP必须在一起)
  • httpd、PHP、MySQL三者的工作方式。如图:

二、MySQL_MariaDB介绍

  • MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)
  • sun公司主要做Java
  • 在后期后学到jdk,jdk 就是由 sun 公司开发的
  • oracle公司,专门做数据库的,都是比较大型的,比如银行等金融企业
  • oracle通常会装在小型机上,小型机和linux不同,叫做 Unix ,操作系统是unix,是收费的
  • 小型机是一个 “超级” 计算机,这个 “超级” 是相比较于你的电脑,比如:有超过几百个CPU,有超过 上T 的内存,这些配置去运行oracle
  • unix系统很稳定,oracle是一个商业公司,安装oracle是需要花钱的
  • MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR
  • MySQL5.6变化比较大,5.7性能上有很大提升
  • Mariadb为MySQL的一个分支,官网https://mariadb.com/最新版本10.2
  • MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.
  • Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6
  • Community 社区版本(免费的开源版本),Enterprise 企业版(收费版本更加全面),GA(Generally Available)指通用版本(稳定版本)在生产环境中用的,DMR(Development Milestone Release)开发里程碑发布版(有重大突破的版本),RC(Release Candidate)发行候选版本(待发布的版本),Beta开放测试版本(对外测试的版本),Alpha内部测试版本(不对外测试的版本)
     

三、MySQL的安装

MySQL常见安装包

rpm包——>直接yum安装即可

源码包——>

二进制免编译包——>这种包相当于是在发布之前,先在一台linux服务器上做了编译,编译完之后,把编译完成的文件重新安排放到一个目录下去,然后在打包压缩,最后再发布

  1. 优势:我们不用花更多的时间去配置、去编译,直接拿来就可以使用,这和rpm包有点类似,但rpm包定义不能所安装的路径,默认安装在usr下面;而二进制免编译包可以放到一个目录下
  2. 二进制免编译包,是在其他服务器、Linux平台上编译的,也是可以在centos上使用
  3. 若想追求极致的性能,那最好自己去编译
  • 查询平台是多少位的
  • 二进制的包是区分平台的,是32位,还是64位的
  • 查看平台,用 uname -a 命令查看
  • i686 i586 就是32位平台的
  • x86_64就是64位平台的
  • centos7以64位平台为主,但也有32位的版本,32位的版本是基于64位的基础上又一次编译的
  • MySQL的几个常用安装包:rpm、源码、二进制免编译
  • cd /usr/local/src //切换到下载源码包的目录
  • wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz(失效后,可前往r.aminglinux.com找最新的下载地址)
  • tar -zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz //解压
  • 移动解压目录并更名: mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql
  • cd /usr/local/mysql //进入到该目录下
  • useradd mysql //创建一个mysql用户
  • mkdir /data/ //创建一个目录,是为了存放mysql的数据,把数据目录放到这个目录下
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //初始化,所谓初始化就是要生成/data/mysql ,因为mysql要想启动,首先要有一个自带的库,自带的库叫mysql
  • 将mysql自带的配置文件移至系统配置目录下,并修改配置文件,指定datadir的目录,以及socket的目录: cp support-files/my-default.cnf  /etc/my.cnf     (系统默认自带有my.cnf文件)
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d
  • 将mysql自带的脚本文件移至chkconfig的执行目录下,并定义basedir(程序目录)和datadir: cp support-files/mysql.server /etc/init.d/mysqld

  • 将脚本文件的权限更改为755(一般默认为755):chmod 755 /etc/init.d/mysqld
  • 将脚本文件加入到chkconfig服务中: chkconfig --add mysqld
  • 如果想设定启动脚本假如系统服务项,开机启动并启动mysql操作如下:
 [root@gaodehua33 mysql]# chkconfig --add mysqld #把mysqld服务假如到系统服务列表中
 [root@gaodehua33 mysql]# chkconfig mysqld on #使其开机启动
 [root@gaodehua33 mysql]# service mysqld start #启动服务
  • 使用命令 /etc/init.d/mysqld start  service start mysqld 启动服务,如图:

  • 如果没有启动脚本的模板时,可以使用命令行的方法启动进程:/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &       指定mysqld_safe的路径,配置文件,用户以及datadir的路径,再使用&符号丢至后台。该方式启动的mysql服务,只能通过 killall mysqld (该命令相对kill更加安全)命令来结束。

kill和killall区别

  • mysql在实时的读写数据,写的速度很快,有可能写入的数据保存在内存里(缓存中),如果这部分缓存并没有同步到磁盘里去,而直接去kill 掉,就意味着你的数据丢失,而使用killall 命令,则会先停止当前的写读操作,然后把没有完成写入到磁盘里的数据在慢慢写入到磁盘里去,直到写完之后才会把进程杀死。
  • 这就意味着如果将来有一天mysqld的进程始终杀不死,等待一分钟还是没有杀死,那说明你的数据量很大,它正在慢慢的写入到磁盘到磁盘里去,这个时候不要强制的使用 kill 9 杀进程,这样非常有可能丢数据,还会损坏你的表。
     

四、MariaDB安装 

猜你喜欢

转载自blog.csdn.net/weixin_42604768/article/details/84934093