11.1 LAMP架构介绍
LAMP是一个简写,包含了4个东西:linux、apache(httpd)、mysql、php
linux操作系统、apache提供wb服务的软件、mysql存储数据的软件、php脚本语言
后面
php和mysql之间是动态请求(如用户的登录操作就会用到)
而如果只是查看图片就是静态请求,不会用到php和mysql动态请求。(mysql不能存图片等文件)
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
免编译比较方便,不用配置,可以指定路径。
1.移动到/usr/local/src目录
2.下载安装包
3.解压解包安装包
4.把解压完的目录放到/usr/local/目录,并改名mysql
5.进入到/usr/local/mysql目录下
6.创建一个mysql的用户
7.创建/data/目录(用来存放mysql的数据)
8.初始化一下,就是要生成一下/data/mysql目录,因为mysql要先启动首先要有一个自带的库叫mysql。(这里它提示少了一个perl模块,所以我们需要安装它)
如果不知道包名就需要模糊搜索一下,首先这个文件是perl模块的,所以一定包含perl,还包含dumper(不确定大小写就加-i)
如下图搜出4个,如果不知道是哪一个就全装上,这里我们知道是第一个包。
然后再使用如下命令初始化一下
(查看是否正确就看提示里时候出现了两个ak,还可以使用echo $?。如果是0就是正确的)
9.拷贝配置文件,etc目录下其实有一个自带的my.cnf,所以不用拷贝也是能用的,但是需要改里面的内容,如下图
10.拷贝启动脚本,然后我们需要编辑一下这文件,
第一个是指定mysql程序目录,第二个datadir定义在/data/mysql,然后把mysqld权限改成755,(默认就是755)
想要mysql开机启动就要把它加入到系统服务列表里面去,然后我们使用
看一下它有没有在开机启动项里面。
或者你可以直接用命令启动它或
,出现success说明启动成功了,然后我们可以看一下进程里有没有mysql
,还可以看一下端口的情况
。
在查看进程的时候我们可以看到有一个命令:
假如有一天你没有办法把启动的脚本放到/etc/init.d目录下,或者说没有这样的启动脚本模板拷贝,那么我们可以使用命令行的方法启动:
我们先关闭刚刚启动的mysql,看一下还有没有它的进程了
。
然后我们使用命令行启动:
--defaults-file指定mysql的配置文件所在路径,--user指定用户,--datadir指定/data/mysql(datadir可以在my.cnf里定义的),最后要加上&,把它放到后台去。
然后我们查看一下服务看看有没有启动成功,可以看到进程里有一段就是我们刚刚用的启动命令。(命令行这种启动方式启动的mysql只能用
关闭,相比kill 加pid更加安全,前者会停止当前工作,然后把在内存中的数据读取和写入进行完,而后者直接强制关闭,可能会导致数据丢失甚至损坏表)使用killall杀mysql进程发现杀不死可能是因为数据量比较大,最好等着,不要使用kill强行杀,不然可能导致数据丢失。