LAMP架构介绍
LAMP架构介绍
LAMP是 Linux+Apache(httpd)+MySQL+PHP的简称,即把Apache(httpd)、MySQL以及PHP安装在Linux系统上,Apache(httpd)是最常用的web服务器软件,MySQL是比较小型的数据库软件,PHP是脚本语言(Google、淘宝、百度、51cto博客、猿课论坛),三个角色可以在一台机器上,也可以分开( httpd 和 PHP 要在一起).
httpd、PHP、MySQL三者是如何工作的
Apache和PHP是一个整体,Apache不能直接和MySQL去连接,只能通过PHP这个模块去MySQL中拿数据,拿到数据后,PHP把这个结果交给Apache,Apache再交给用户。PHP和MySQL交互数据的操作、行为,称为动态请求。
MySQL、MariaDB介绍
MySQL是一个关系型数据库,MySQL官网https://www.mysql.com/,最新版本5.7GA/8.0DMR
MySQL5.6变化比较大,5.7性能上有很大提升
Mariadb是MySQL的一个分支,官网https://mariadb.com,最新版本10.2
Mariadb5.5版本对应MySQL的5.5,Mariadb10.0对应MySQL5.6
community 社区版,enterprise 企业版,GA(generally available) 通用版,在生产环境中使用,DMR(development milestone release)开发里程碑版本,RC(release candidate) 发行候选版本,Beta 开放测试版本,Alpha 内部测试版本。
MySQL安装
- 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
- tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
- mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
- cd /usr/local/mysql
- useradd mysql
- mkdir /data/
- ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
- cp support-files/my-default.cnf /etc/my.cnf
- cp support-files/mysql.server /etc/init.d/mysqld
- vi /etc/init.d/mysqld
- 定义basedir和datadir
- /etc/init.d/mysqld start
安装MySQL
- 所有的源码包,需要的资源放在 /usr/local/src/ 目录下
- 查看平台,uname-a,x86_64就是64位平台的,i686 i586 就是32位平台的
- 下载MySQL包,去码市找到MySQL 5.6版本的链接,然后用wget下载
- 下载完MySQL安装包后,首先需要解压
- 移动目录,并修改名字
- 切换至mysql目录下
- 创建MySQL用户,创建 /data/ 目录,若存在可忽略
- 初始化
- 出现错误提示,缺少Dumper模块;解决思路:安装缺少的模块或包,模糊搜索模块或包的名称
- 可以将出现的4个包全部安装上,实际上只需安装perl-Data-Dumper包即可
- 然后再初始化,若出现两个OK即初始化成功,或者执行echo $?命令,是0即成功
- 执行失败,是因为缺少 libaio 这个包,# yum install -y libaio
- 初始化完成后,拷贝配置文件
这里看到centos7里默认安装了mariadb-libs包,或者之前安装包连带已经安装过了
然后编辑# vim /etc/my.cnf,修改成datadir=/data/mysql, socket=/tmp/mysql.sock
将[mysqld_safe]中的两行注释掉,将!includedir /etc/my.cnf.d 也注释掉,保存退出
- 自定义启动脚本
先把脚本放到 /etc/init.d/mysqld 中
编辑文件#vi /etc/init.d/mysqld ,修改basedir和datadir
系统默认权限为755
将mysqld加入到系统服务列表里去
- 启动MySQL服务
- 假若无法将MySQL启动脚本放到/etc/init.d/中去,或者没有这样的而启动模板拷贝,可以这样启动
首先停掉mysqld服务
然后指定配置文件所在路径
可以用killall命令停掉mysqld服务
killall命令和kill命令
killall命令是一个还算安全的杀进程的命令,当MySQL在实时读写数据,有些数据保存在内存中而未来得及同步到磁盘里去,使用kill则会直接杀死进程,数据就会丢失;而使用killall,会先停止当前的读写操作,然后将没写入磁盘里的数据慢慢写入进去,直到写完之后才会杀死程序。