LAMP架构介绍
LAMP=linux+Apache(即httpd,提供web服务的软件)+mysql(存储数据(字符串)+PHP(脚本语言,用C开发,与shell类似,但比shell高级,常用于做网站))
在实际安装到服务器时,apache必须和PHP在一台服务器,mysql可以单独运行在一台服务器上
Apache无法直接与mysql交互,它需要一个PHP模块来提供帮助
动态请求:用户登录认证,用户发送用户名密码给apache,apache通过PHP从mysql中查询相应的用户名密码并进行比对,正确则返回状态为登录,否则未登录
静态请求:用户向服务器请求静态文件(如图片)而不是通过mysql请求,apache到某个目录下或某个其他的服务器上找到对应图片并发给用户
Mysql用于存储
11.2 mysql_mariaDB
Mysql最新版本为5.7GA和8.0DMR
Mysql被oracle收购后,Mysql创始人带领大量原班人马创立了skysql公司,并开发出了mysql的一个分支,mariaDB
MariaDB5.5版本与mysql5.5版本对应,但从5.5以后,mariaDB直接跨越到10.0版本,而mysql继续为5.6版本
版本划分:
Community 社区版(开源、免费)
Enterprise 企业版(收费,有部分高级功能)
GA 通用版(本身经过众多使用者检验的较稳定版本,生产环境中常用)
DMR 开发里程碑发布版(相较于之前的版本有重大的更改)
RC 发行候选版(已经较稳定,随时可以被发布)
Alpha 内部测试版(在开发团队内部开放使用)
Beta 开放测试版(在内测已经较稳定后开放给普通用户使用并测试的版本)
11.3 mysql安装(上)
几种常用的安装包:rpm、源码包、二进制免编译
二进制免编译:将源码包在一台linux服务器上编译完成,然后将编译完成的文件放到某个目录下打包、压缩再发布出去;
用户不需要花时间编译,类似rpm包,但rpm包用户无法定义安装路径(默认装在usr目录下);
要追求使用性能则最好用源码包在自己的机器上编译
11.4 mysql安装(中)
下载安装包到某个目录:
解压:
将解压出的目录移动位置并改名:
检查移动后的目录:
添加用户用于mysql:
运行scripts,指定用户为mysql,指定mysql数据库目录存放数据位置:
*被创建目录的上一级目录必须存在
*执行过程中可能由于缺少某些包或脚本导致安装不成功
解决办法:
1.模糊查询可能的包或脚本:
2.在浏览器输入报错信息寻找解决办法
www.baidu.com www.bing.com www.google.com
检查安装是否正确:
1. 查看上一步执行完的结果中是否有两个ok
2. 执行echo $0,为0则刚刚执行的一步无误
拷贝配置文件(将模板配置文件拷贝到/etc/下并改名为my.cnf):
*默认mysql配置文件位置固定(etc下),名称固定(my.cnf)
*系统可能本来就存在/etc/my.cnf配置文件目录(可能是先前的某个包或某个依赖包安装产生),此时可以不拷贝配置文件,但需要修改部分配置:
1 更改datadir位置
2 修改socket到对应位置
3 log-error、pid-file等参数可以注释掉(不使用)
4 所有不使用的部分均可被注释掉
11.5 mysql安装(下)
拷贝启动脚本:
*centos6下自定义启动脚本:
1 将启动脚本放到/etc/init.d目录下
2 修改其中的部分内容
Basedir:指定对应程序的程序目录
Datadir:数据目录
启动脚本文件权限变更:
将启动脚本加入系统服务列表(开机启动):
Or 手动启动mysql:
查看进程:
查看监听的端口:
*无法将启动脚本放到/etc/init.d目录下或没有启动脚本:
解决办法:
命令行启动:
*此时可以指定配置文件路径、用户、数据目录
停止mysql:
1 服务形式启动(开机启动/手动启动)
2 命令行启动
*killall杀死mysql进程时系统会等待mysql读写完成再彻底停止mysql服务,这样不会造成数据丢失(如果使用killall后进程一直没有停下来则可能是数据过多导致系统需要花更多的时间去读写内存中的数据,此时最好耐心等待服务关闭,不可强制杀死进程)
Mysql常用引擎:innodb(容量较大)、myisam(容量较小)
原文地址:http://blog.51cto.com/12216458/2097629