LAMP架构介绍及mysql的安装

LAMP架构介绍

LAMP是 linux Apache MySQL PHP的简写,即把Apache MySQL PHP 安装在linux系统上,组成一个环境来运行PHP网站。这里的Apache是httpd服务。这些可以安装在一个机器上,也可以安装在多台机器上,但是httpd和PHP安装在一台机器上(php作为httpd的一个模块存在的。 他们两者必须要在一起,才能实现效果)。

httpd,MySQL,PHP三者如何工作 
这里写图片描述

静态,就是直接由webserver处理的请求,比如图片,js,css等,而动态的是需要和数据库打交道的请求,比如你现在访问ask.apelearn.com,登录用户,发帖子,看帖子,这些都是需要和数据库打交道的。这样的就是动态。

这里写图片描述

安装MySQL步骤:

这里写图片描述

安装时在那个目录下操作很重要,决定着你能否安装成功。

下载MySQL到指定目录下(/usr/local/src).

[root@shuai-01 ~]# cd /usr/local/src/
[root@shuai-01 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

解压包:

[root@shuai-01 local]# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

将解压的包移动并重命名为/usr/local/mysql

[root@shuai-01 local]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
[root@shuai-01 mysql]# ls
bin      data  include  man     mysql-test  scripts  sql-bench
COPYING  docs  lib      my.cnf  README      share    support-files

创建MySQL用户,创建/data/目录:

[root@shuai-01 local]# useradd mysql

[root@shuai-01 local]# mkdir /data/

安装MySQL,指定用户,指定目录:

[root@shuai-01 local]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

这时如果出现错误,如下图:

这里写图片描述

少了一个模块,模块名字dumper,少什么安装什么。

搜索模块包名:

[root@shuai-01 ~]yum list |grep perl |grep -i dumper
perl-Data-Dumper.x86_64                 2.145-3.el7                    @base    
perl-XML-Dumper.noarch                  0.81-17.el7                    @base    
perl-Data-Dumper-Concise.noarch         2.020-6.el7                    epel     
perl-Data-Dumper-Names.noarch           0.03-17.el7                    epel  

搜出来四个,安装完一个包后再安装MySQL,还出错,安装下一个包,四个都安装完肯定能安装MySQL。其实它是靠perl-Data-Dumper.x86_64这个包。

安装这个包:

[root@shuai-01 ~]# yum install -y perl-Data-Dumper

错误2:./scripts/mysql_install_db –user=mysql –datadir=/data/mysql 
Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum -y install libaio-devel

安装完成后就能安装MySQL了。

[root@shuai-01 ~]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

安装完成后,检验是否安装成功,没有错误。 
安装MySQL后,立马执行echo $? 显示是0,就表示安装成功,没有问题。

[root@shuai-01 ~]# echo $?

其实,echo $? 是检测上一条命令是否执行成功

拷贝配置文件(/support-files/my-large.cnf):

[root@shuai-01 mysql]# cp support-files/my-large.cnf /etc/my.cnf

mysql的配置文件就叫/etc/my.cnf 就在/etc下。

也可能你的/etc/my.cnf这个文件本来就有了,被其他的包装的时候带过来了。

查看是哪个包安装的/etc/my.cnf

[root@shuai-01 mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.52-1.el7.x86_64

这个也可以使用,不过要改一下文件。

[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d

复制启动脚本并修改属性:

[root@shuai-01 mysql]# support-files/mysql.server /etc/init.d/mysqld

修改启动脚本: 
basedir=/usr/local/mysql 
datadir=/data/mysql

# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.

basedir=/usr/local/mysql
datadir=/data/mysql

# Default value, in seconds, afterwhich the script should timeout waiting
# for server start.

修改启动脚本文件权限:

[root@shuai-01 mysql]# chmod 755 /etc/init.d/mysqld

设置开机启动:

[root@shuai-01 ~]# chkconfig --add mysqld

也可以手动启动:

[root@shuai-01 ~]# service mysqld start

启动起来了:

[root@shuai-01 mysql]# ps aux |grep mysql
root       1535  0.0  0.1 115392  1688 ?        S    19:07   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/shuai-01.pid
mysql      1863  0.1 45.2 1300784 452380 ?      Sl   19:07   0:08 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/shuai-01.err --pid-file=/data/mysql/shuai-01.pid --socket=/tmp/mysql.sock
root       3473  0.0  0.0 112680   976 pts/0    S+   21:00   0:00 grep --color=auto mysql

监听端口(3306):

[root@shuai-01 mysql]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1516/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2168/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1863/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1516/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2168/master  

如果没有启动脚本,可以用命令行启动:

命令行,指定配置文件路径,指定用户,指定/datadir 加&丢入后台。

[root@shuai-01 mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
[2] 3723
[root@shuai-01 mysql]# 171214 21:10:07 mysqld_safe Logging to '/data/mysql/shuai-01.err'.
171214 21:10:07 mysqld_safe Starting mysqld daemon with databases from /data/mysql

[root@shuai-01 mysql]# !ps
ps aux |grep mysql
root       3545  0.0  0.1 113264  1612 pts/0    T    21:08   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
mysql      3670 11.1  0.0      0     0 pts/0    Z    21:08   0:20 [mysqld] <defunct>
root       3723  0.0  0.1 113264  1612 pts/0    S    21:10   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
mysql      3848  1.6 45.1 1300788 451364 pts/0  Sl   21:10   0:01 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/shuai-01.err --pid-file=/data/mysql/shuai-01.pid --socket=/tmpmysql.sock
root       3872  0.0  0.0 112676   976 pts/0    R+   21:11   0:00 grep --color=auto mysql

关闭时就只能killall:

[root@shuai-01 mysql]# killall mysqld

killall会先停止读写操作,把已有的写完后,就杀死MySQL服务。

MySQL有两个引擎:innodb (小), myisam(大)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈论到LAMP架构时,它是一个常见的服务器软件堆栈,由四个核心组件组成:Linux、Apache、MySQL和PHP(或Perl或)。下面是对每个组件的详细介绍: 1. Linux:LAMP架构的基础是Linux操作系统。Linux是一个开源的、免费的操作系统,提供稳定性、安全性和灵活性。它是服务器端应用程序的理想选择,因为它可以有效地管理资源,并提供强大的网络和安全功能。 2. Apache:Apache是一个流行的开源Web服务器软件。它是LAMP架构中的核心组件之一,负责接收来自客户端的HTTP请求并向其提供所需的网页内容。Apache具有高度可配置性和可扩展性,可以处理大量的并发连接,并支持多种模块和插件,使其适用于各种Web应用程序。 3. MySQLMySQL是一个流行的开源关系型数据库管理系统(RDBMS)。它用于存储和管理应用程序的数据。MySQL提供高性能、可靠性和可扩展性,并支持多用户、多线程和复杂查询。它与PHP等编程语言紧密集成,使数据的读取、写入和查询变得更加简单。 4. PHP:PHP是一种广泛使用的开源服务器端脚本语言,特别适用于Web开发。它可以嵌入到HTML中,并与数据库进行交互,生成动态网页内容。PHP具有易学易用的特点,支持多种数据库和操作系统,可以处理表单数据、文件上传、会话管理等常见的Web开发任务。 综上所述,LAMP架构提供了一个完整的解决方案,使开发人员能够使用开源技术构建功能强大的Web应用程序。它是一个可靠、灵活和可扩展的架构,被广泛应用于各种大小的Web项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值