LAMP架构介绍 、MySQL、MariaDB介绍、 MySQL安装

LAMP 架构介绍

LAMP是Linux Apache MySQL PHP的简写;linux是操作系统,Apache是一个web服务软件,mysql数据库软件,PHP是一个脚本语言(目前很多网站都是php语言编写,google,百度,淘宝,猿课论坛等)。

LAMP就是将Apache、mysql、php装在Linux系统上;我们可以将Apache和PHP装在一台机器上,将mysql装在另一台机器上,也可以将3个软件装在同一台机器上。但是apache和php需要在同一台机器上,这是因为PHP是作为Apache的一个模块存在的,它们必须在一起。

Apache和php的关系

Apache和php是一个整体,php是一个模块的形式和apache结合在一起,apache不能直接和mysql直接进行交互,它只能通过php的模块去 mysql中拿数据,php拿到数据后交给apache,apache再交给用户。

Php和mysql相连,去取数据的操作行为叫做动态请求。

httpd、PHP、MySQL三者如何工作

输入图片说明


MySQL/Mariadb介绍

• MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀) • MySQL官网https://www.mysql.com 最新版本5.7GA/8.0DMR • MySQL5.6变化比较大,5.7性能上有很大提升 • Mariadb为MySQL的一个分支,官网https://mariadb.com/最新版本10.2 • MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立. • Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6 • Community 社区版本,Enterprise 企业版,GA(Generally Available)指通用版本,在生产环境中用的,DMR(Development Milestone Release)开发里程碑发布版,RC(Release Candidate)发行候选版本,Beta开放测试版本,Alpha内部测试版本


Mysql的安装

MySQL的几个常用安装包:rpm、源码、二进制免编译

  1. Mysql的源码安装是cmake和apache的make不一样,具体查看安装文档。
  2. Rpm包安装不能自定义安装路径;
  3. 二进制:在发布之前在一台linux服务器上,做一个编译,然后把编译完成的文件重新编排放到一个目录下,打包压缩后发布出来;好处是不用花费太多的时间去编译,直接解压后使用.如果想要更加准确完善的安装,可以使用源码安装,一般使用二进制安装就可以。

二进制包是区分平台的,centos7之前的版本都是区分32位和64位,centos7直接选择64位安装。

[root@linux-128 src]# uname –i   //查看linux是多少位
x86_64
下载源码包:
[root@linux-128 ~]# cd /usr/local/src  	//建议将所有软件包都放在这个目录下

下载地址到r.aminglinux.com找最新的下载

[root@linux-128 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
初始化
  1. 解压
[root@linux-128 src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
 
  1. 重名命
[root@linux-128 src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
[root@linux-128 ~]# cd /usr/local/mysql
[root@linux-128 mysql]# ls
bin      data  include  man         README   share      support-files
COPYING  docs  lib      mysql-test  scripts  sql-bench

  1. 建立mysql用户,因为启动mysql时需要该用户
[root@linux-128 mysql]# useradd -s /sbin/nologin mysql
  1. 创建存放数据库目录的目录
[root@linux-128 mysql]# mkdir /data
  1. 初始化
[root@linux-128 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  //--user=mysql 以用户mysql身份运行,--datadir=/data/mysql存放数据库的目录
ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper    //这里出现了错误,原因是缺少包 perl-Module-Install 

可以使用yum list 来查看缺少包
[root@linux-128 mysql]# yum list |grep perl |grep -i dumper
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
perl-Data-Dumper.x86_64                 2.145-3.el7                    base
perl-Data-Dumper-Concise.noarch         2.020-6.el7                    epel
perl-Data-Dumper-Names.noarch           0.03-17.el7                    epel
perl-XML-Dumper.noarch                  0.81-17.el7                    base

安装perl-Data-Dumper包
[root@linux-128 mysql]# yum install -y perl-Data-Dumper

然后在执行一次

[root@linux-128 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  
如果看到两个OK说明执行正确,或者echo $? 结果为0 也表示执行正确。
[root@linux-128 mysql]# echo $?
0
配置Mysql

Mysql的配置文件在/usr/local/mysql/support-files/目录下my-default.cnf,它是msyql的模板配置文件

  1. 拷贝配置文件
[root@linux-128 mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y    	//这里已经存在文件my.cnf,这是之前系统rpm安装留下的,我们可以查看它是那个包安装的
[root@linux-128 mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.52-1.el7.x86_64  

我们这里直接按“y”覆盖即可

  1. 修改配置文件
[root@linux-128 mysql]# vim /etc/my.cnf
[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
 basedir = /usr/local/mysql      //mysql的安装目录
 datadir = /data/mysql         //存放数据库的目录
port = 3306                 //端口
# server_id = .....				//mysql的ID号,做主从的时候要用到
 socket = /tmp/mysql.sock     //mysql服务监听的套件字地址,也是用来通信的。

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
启动脚本
  1. 复制启动脚本
[root@linux-128 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  1. 修改启动脚本
[root@linux-128 mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
  1. 修改权限
[root@linux-128 mysql]# chmod 755 /etc/init.d/mysqld

  1. 将mysqld服务加入到系统服务列表中
[root@linux-128 mysql]# chkconfig --add mysqld
  1. 设置开机启动
[root@linux-128 mysql]# chkconfig mysqld on
  1. 启动服务
[root@linux-128 mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/linux-128.err'.
. SUCCESS!

如果启动不了,请到/data/mysql/目录下查看错误日志,这个日志通常是主机名.err

  1. 查看mysql进程
[root@linux-128 mysql]# ps aux |grep mysqld
root      2808  0.0  0.0  11776  1572 pts/0    S    23:56   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/linux-128.pid
mysql     2970  1.5 23.9 973064 449420 pts/0   Sl   23:56   0:01 /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/linux-128.err --pid-file=/data/mysql/linux-128.pid --socket=/tmp/my.sock --port=3306
root      2998  0.0  0.0 112676   972 pts/0    S+   23:58   0:00 grep --color=auto mysqld


  1. 查看mysql监听的端口
[root@linux-128 mysql]# netstat -lnp |grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      2970mysqld
unix  2      [ ACC ]     STREAM     LISTENING     33024    2970/mysqld          /tmp/my.sock

如果我们不知道mysql的启动文件,我们还可以使用命令行的方法来启动mysql 先关闭之前打开的mysql

[root@linux-128 mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!

执行命令行

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &


转载于:https://my.oschina.net/u/3706916/blog/1592911

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值