文档章节

lamp架构&安装MySQL

阿dai学长
 阿dai学长
发布于 2017/07/25 21:36
字数 1308
阅读 202
收藏 1

第十一章 LAMP架构

11.1 LAMP架构介绍

LAMP指的Linux(操作系统)、Apache(httpd 服务器),MySQL(数据库软件) 和PHP(有时也是指Perl或Python) 的缩写,一般用来建立web 服务器(三个角色可以在一台机器也可以分开,但是Apache和PHP要安装在一起) 。

Apache、PHP、MySQL工作模式

mark
说明: 服务器上的图片、js、css等文件属于静态文件;数据库文件是动态文件。

11.2 MySQL_MariaDB介绍

MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护。MariaDB直到5.5版本,均依照MySQL的版本。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL5.6版的功能和自行开发的新功能。

MySQL版本:
community 社区版;enterprise 企业版;GA(generally available) 通用版,在生产环境中使用;DMR(development milestone release) 开发里程碑版本;RC(release candidate) 发行候选版本;Beta 开放测试版本;Alpha 内部测试版本。

11.3-11.5 MySQL安装

uname命令

uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

语法: uname [options]
Options:
-a:=all,显示全部信息
-m:=machine,显示电脑类型
-n:显示在网络上的主机名
-r:显示操作系统的发行编号
-s:显示操作系统名称
-v:显示操作系统版本
-p:显示处理器类型或“unknown”
-i:输出硬件平台
-o:输出操作系统名称

MySQL常用安装包

rpm包、源码包、二进制免编译包。

MySQL-5.6-64位二进制免编译包镜像下载地址:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

安装MySQL

准备工作

  • 切换至/usr/local/src/目录
[root@adai003 ~]# cd /usr/local/src/
  • 下载MySQL二进制免编译包
[root@adai003 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  • 解压包
[root@adai003 src]# tar zxvf /usr/local/src/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

初始化

  • 将安装文件移动到/usr/local/目录
[root@adai003 src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
  • 切换至mysql目录下
[root@adai003 mysql]# cd /usr/local/mysql/
  • 创建MySQL用户
[root@adai003 mysql]# useradd mysql
  • 创建数据库目录
[root@adai003 mysql]# mkdir /data/ 
  • 初始化
[root@adai003 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  
错误排查
  • 错误提示1:
[root@adai003 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

解决办法:

根据提示搜索相应的安装包并进行安装:
[root@adai003 mysql]# yum install -y perl-Data-Dumper
  • 错误提示2:
[root@adai003 mysql]# ./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

解决办法:

根据提示信息安装有关的库文件:
[root@adai003 mysql]#  yum -y install libaio* libaio-dev*

配置MySQL

完成上述操作后先检测"./scripts"命令是否正确执行:

[root@adai003 mysql]# echo $?
0
  • 拷贝配置文件到/etc/my.cnf
[root@adai003 mysql]# cp support-files/my-default.cnf  /etc/my.cnf
  • 编辑MySQL的系统配置文件/etc/my.cnf
将模板中内容改成如下格式:
[root@adai003 mysql]# vim /etc/my.cnf
[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
  • 修改启动脚本
将启动脚本添加到系统配置文件/etc/init.d/中:
[root@adai003 mysql]# cp support-files/mysql.server /etc/init.d/mysqld  

修改配置文件:
[root@adai003 mysql]# vim /etc/init.d/mysqld
……
basedir=/usr/local/mysql
datadir=/data/mysql
……

更改配置文件权限(默认情况是755):
[root@adai003 mysql]# chmod 755 /etc/init.d/mysqld
此步骤可以省略!
  • 启动MySQL服务
将MySQL服务添加到开机启动服务中:
[root@adai003 mysql]# chkconfig --add mysqld
[root@adai003 mysql]# chkconfig --list
mysqld         	0:关	1:关	2:开	3:开	4:开	5:开	6:关
netconsole     	0:关	1:关	2:关	3:关	4:关	5:关	6:关
network        	0:关	1:关	2:开	3:开	4:开	5:开	6:关

启动MySQL服务:
方法1:
[root@adai003 mysql]# /etc/init.d/mysqld start 
方法2:
[root@adai003 mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/adai003.err'.
.. SUCCESS!
  • 异常启动MySQL服务:
    情景:MySQL启动脚本无法添加到/etc/init.d/中或者没有启动脚本,可以使用如下方法启动:
[root@adai003 mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
# 后台执行该命令

kill命令&killall命令

kill命令和killall命令都是用来杀死系统中的进程,区别是:

  1. kill用来杀死单个进程,killall用来杀死进程树
  2. 使用kill命令会立刻结束正在运行中的进程,如果该进程正在进行磁盘的读写,那么数据会因为进程的结束而丢失,而killall命令会等待该数据读写完毕后再将相关进程结束,相对来说使用起来更加安全。

© 著作权归作者所有

阿dai学长
粉丝 75
博文 262
码字总数 336161
作品 0
朝阳
运维
私信 提问
使用docker虚拟化技术,lamp架构,搭建wordpress博客服务

使用docker虚拟化技术,lamp架构,搭建wordpress博客服务 使用平台 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-91-generic x86_64) 搭建思路步骤 需求:使用wprdpress搭建一个私人博客,并且将服务...

fsx2550553488
2018/05/28
0
0
民工哥公众号linux系统学习线路图大全

民工哥公众号linux系统学习线路图大全 <-----------点击链接进入 友侃有笑公众号Linux学习路线图 1、基础篇 Linux 基础优化配置 Linux系统根目录结构介绍 linux系统重要子目录介绍 Linux文件...

民工哥
2017/08/30
0
0
Ubuntu安装Osmocom-BB一只猿多频点WEB脚本

LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,...

广岛秋泽
2015/11/16
0
0
LAMP详解之lamp(modules)安装

大纲: 1. LAMP概念 2. LAMP的原理 3. LAMP的实现 一、LAMP的概念 LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数...

powerlife
2016/11/07
0
0
LAMP平台部署及应用

LAMP架构是目前最为成熟的企业网站应用模式,指的是协同一整套系统和相关软件,提供动态Web站点及其应用开发环境。具体包括Linux系统、Apache、MySQL、PHP(或Perl、Python) LAMP平台的应用...

杨书凡
2017/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0
实战项目-学成在线(八)

在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。 注册中心作用: 1、微服务数量众多,要进行远程调用就需要知...

lianbang_W
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部