LAMP构架介绍
11.1LAMP构架介绍
首先分为四个部分:
linux+Apache(httpd)+MySQL+PHP
操作系统+一个提供web服务的软件+数据库软件+脚本语言(php由c开发,通常以做网站为主)
三者组成一个环境来运行PHP的脚本语言
除了linux外,其他三个软件可以在一台机器上,也可以分开(Apache和PHP需要在一起)
MySQL中会存储用户名密码,发表的帖子内容,积分等数据
关于Apache和PHP和MySQL的工作介绍:
apache和PHP是一个整体,PHP是以一个模块的形式和Apache结合在一起,Apache不能直接去MySQL中拿数据,需要通过PHP模块去拿数据,由PHP交给Apache处理
动态请求:登录猿课,登录过程为用户登录输入账号密码,这些数据交给Apache,拿到后由php在MySQL数据库中的数据对比,如果对,Apache就会返回给用户登录的状态
静态请求:比如访问网站的时候的logo,这些logo等数据就存在静态文件中
11.2mysql和MariaDB介绍
MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)
MySQL官网https://www.mysql.com 最新版本5.7GA/8.0DMR
GA为稳定版本,适合生产中,DMR属于开发中的版本
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内部测试版本
(之后可能会比较多的操作MariaDB数据库)
11.3/11.4/11.5MySQL安装
MySQL的几个常用安装包:rpm、源码、二进制免编译
二进制免编译包:不用去编译和配置,rpm包不能定义安装路径,免编译包可以自己指定
第一步下载安装包
关于版本对少位的版本:uname -a,安装版本下载包
下载地址r.aminglinux.com
①首先进入这个目录下 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
④解压完的目录改名并挪动位置放到/usr/local/目录下
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql(注意这里不要加斜杠,加斜杠就放到了mysql目录下面去了结果就会出现错误)
⑤进入到这个目录
cd /usr/local/mysql
⑥创建mysql用户
useradd mysql
⑦创建目录,为了存放mysql的数据库文件
mkdir /data/
⑧初始化,实际为生成/data/mysql目录,因为要想启动需要有自带的库(出错误找资料)
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user定义数据库所属主 --datadir定义数据库安装在哪里
这里出现的错误,就需要找思路,采用模糊搜索
yum list | grep prel | grep -i dumper 来尝试找这个包
如果解决不了,就想要把错误的行在网上搜索了,访问Google
自己在安装完包后出现下面的错误:
群友帮助,是缺少里面的libaio使用yum来安装操作成功
测试是否成功,看有两个OK,或者echo $? 看是否为0(必须在刚执行完后)
第三步配置mysql
拷贝配置文件
cp support-files/my-default.cnf /etc/my.cnf
也可以不复制,使用/etc/my.cnf/自带的文件进行修改使用
vim /etc/my.cnf/
第四步修改启动脚本
拷贝启动脚本文件
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld 定义basedir和datadir
然后给权限
chmod 755 /etc/init.d/mysqld(默认应该就是755权限)
设置mysql开机启动
chkconfig --add mysqld
chkconfig --list查看是否加入开机列表
第五步启动服务
/etc/init.d/mysqld start 或者 service mysqld start
使用这个关闭 service mysqld stop
使用ps aux | grep nysql 查看是否启动
使用netstat -lntp 查看启动的端口
如果没有可以使用的启动脚本模板配置文件,如何启动
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
(--defaults-file=/etc/my.cnf指定配置文件所在的路径 &放到后台)
这种方式开启,只能 killall mysqld 杀死进程来结束
扩展
http://www.aminglinux.com/bbs/thread-1059-1-1.htmlmysql5.5源码编译安装
http://www.apelearn.com/bbs/thread-10105-1-1.htmlmysql5.7二进制包安装(变化较大)