LAMP介绍与mysql安装

11.1 LAMP架构介绍

  • LAMP是Linux、Apache(httpd)、MySQL、PHP的简写,就是把Apache、MySQL、以及PHP安装在Linux上面,组成一个环境来运行PHP的脚本语言,通常是网站。

  • PHP网站(Goole、淘宝、百度、51cto博客、猿课论坛)

  • 3个角色可以在一台机器、也没有分开(httpd和PHP要在一起)。例如可以把Apache+PHP安装在一台机器上,再把MySQL安装在另一台机器上,也可以将3者安装在同一台机器上。但是Apche与PHP需要在同一机器上。这是因为PHP是作为Apache的一个模块存在的,它们必须在一起。

  • 3者之间的关系
    LAMP介绍与mysql安装_第1张图片

1.Apache不能直接与MySQL相互的打交道,必须通过PHP这个模块去拿数据,PHP将数据结果交给Apache,Apache再交给用户。

2.PHP与MySQL相连去取数据的这个行为称为动态请求。
例如当登录一个网站时,在浏览器中输入账号与密码,点击登录将请求交给了Apache,之后Apache检查请求是动态的还是静态的请求。Apache拿到用户密码后,通过PHP查到MySQL中保存的用户密码是什么,PHP再进行2个用户密码的对比。如果结果一致返回给用户登录后的界面

3.当浏览网站时,看到的图片或者logo都是静态文件,也就是在linux系统上某个目录下拿到的图片再返回给用户。

4.看Apache是否与MySQL打交道可以知道用户的请求是动态请求还是静态请求。

5.MySQL中不能存图片或是文件,它存的是数据。


11.2 MySQL_MariaDB介绍

  • 1.MySQL是一个关系型数据库,由mysql ab公司开发,MySQL在2008年被sun公司收购(10亿美元),在2009年Sun公司被oracle公司收购(74亿美元)

    2.MySQL官网http://www.mysql.com 最新版本5.7GA/8.0DMR

    3.MySQL5.6变化比较大,5.7性能上有很大的提升。

    4.MariaDB为MySQL的一个分支,官网是http://mariadb.com 最新版本为10.2

    5.MariaDB主要由SkySQL公司维护(现更名为MairaDB公司),SkySQL公司由MySQL原作者带领大部分原班人马创立。

    6.Mariadb5.5版本对应MySQL的5.5,而10.0对应MySQL的5.6

    7.Community-社区版本,Enterprise-企业版,GA指通用版本,在生产环境中用的,DMR指开发里程碑发布版,RC指发行候选版本,Beta开发测试版本,Alpha内部测试版本。


11.3-11.4-11.5MySQL安装

  • MySQL通常是通过rpm(使用yum安装)、源码(与Apache的源码安装不同)、、二进制免编译(不用配置,不用编译,rpm类似。但是rpm是无法定义安装路径,默认就是安装在/usr/下面,而二进制免编译包是可以选择安装位置的。)

  • 如果追求极致的性能,那么需要自己去编译。不然用二进制免编译就可以了。以后工作中没有特殊的要求使用二进制免编译即可。

  • 安装MySQL
    1.源码包以及需要的资源都放在/usr/local/src/目录下。

uname -a //查看系统使用的平台 
2.  wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

下载MySQL5.6_64位二进制包

3.将下载的包解压

tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz  

4.将解压后的目录移动到/usr/local/目录下并改名为mysql

LAMP介绍与mysql安装_第2张图片

5.切换到/usr/local/mysql/目录下,先ls查看是否有文件或者目录。接着创建mysql用户,创建/data/目录,mkdir /data/
初始化

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //--user表示定义数据库以哪个用户身份运行,--datadir表示定义数据库的安装目录(建议放在大空间的分区上。)

LAMP介绍与mysql安装_第3张图片

6.出现提示需要安装一些包,但是不太知道包的名称,可以使用yum list 来模糊搜索,或者将报错复制下来在www.bing.com或者www.goole上来寻找答案。yum list 出来的包不确定是哪一个就全部安装上。最后发现是需要安装perl-Data-Dumper.x86_64这个包以及yum install -y libaio
安装后再次执行./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
LAMP介绍与mysql安装_第4张图片
如果不确定是否执行过程是对的,第一个可以查看过程中是否出现了2次OK。第2个是执行echo $?(该步骤必须在刚刚执行完./scripts/mysql_install_db后来执行)

7.初始化完成后复制配置文件(support-files/my-default.cnf)

cp support-files/my-default.cnf  /etc/my.cnf  

LAMP介绍与mysql安装_第5张图片
因为系统默认安装了或者安装其他包存在依赖关系而安装上了mariadb-libs-5.5.56-2.el7.x86_64这个包而创建了/etc/my.cnf。这里直接覆盖即可。

如果使用系统中默认的/etc/my.cnf 需要做以下更改
datadir=/data/mysql
socket=/tmp/mysql.sock
注释掉:
includedir /etc/my.cnf.d
log-error=
pid-file=

9.复制启动脚本到/etc/下并修改文件名

cp  support-files/mysql.server  /etc/init.d/mysqld

再使用vim来编辑/etc/init.d/mysqld中这2个地方即可
这里写图片描述

10.将它加入到开机启动项中

chkconfig --add mysqld

LAMP介绍与mysql安装_第6张图片
11.

service mysqld start //启动mysql服务

可以使用以下命令来查看是否已启动
LAMP介绍与mysql安装_第7张图片

或者用命令行的方式来启动

/usr/local/mysql/bin/mysql_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql   //该命令就是进程中出现的命令

不能使用killall命令,需要安装psmisc这个包(尽量使用killall命令来终止进程)
这里写图片描述
kill命令用来停掉服务,可能会造成数据丢失。killall命令更加安全。如果以后的工作中遇到mysqld的进程杀不死,ps还会有进程,那说明将数据慢慢写入到磁盘中,千万不能使用kill -9来杀进程,否则很可能丢数据。

12.mysql常用的引擎有innodb和myisam这2个

你可能感兴趣的:(LAMP介绍与mysql安装)