1.LAMP架构介绍

  • Linux+Apache(httpd)+MySQL+PHP

blob.png

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


  • 三个角色可以在一台机器、也可以分开

    blob.png

可以参考其他文档:

https://www.cnblogs.com/jiangjunli/p/6958605.html

http://blog.csdn.net/zdp072/article/details/50583581


2.MySQL_MariaDB介绍

MySQL/Mariadb介绍

  • MySQL是一个关系型数据库,有mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被Oracle公司收购(74亿刀)

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

  • MysSQL5.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内部测试版本


3.MySQL安装

安装MySQL

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

  • cd /usr/local/src 存放资源目录

#用  mkdir -p /usr/local/src/ 创建多级目录
[root@yunlinux ~]# cd /usr/local/src
  • wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 下载地址,下载包(以二进制)

blob.png

blob.png

  • tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 解压文件

blob.png

  • mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

#修改目录的名称 并放到/usr/local/mysql目录下
[root@yunlinux src]# ls
mysql-5.6.36-linux-glibc2.5-x86_64  mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
[root@yunlinux src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
  • cd /usr/local/mysql

#进入到 /usr/local/mysql目录下
[root@yunlinux src]# cd /usr/local/mysql

blob.png

  • useradd mysql

#创建mysql用户
[root@yunlinux mysql]# useradd mysql
  • mkdir /data/

#创建目录 用于存放mysql的数据文件
[root@yunlinux mysql]# mkdir /data/
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

#初始化,生成/data/mysql目录 [初始化 指定用户为mysql,指定datadir为/data/mysql 目录]
[root@yunlinux mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

blob.png

报错误,中文翻译如下:

致命错误:请在执行之前安装以下Perl模块。/脚本/ mysql_install_db:

Data::Dumper

解决思路:

模糊搜索相关的支持包名

[root@yunlinux mysql]# yum list |grep perl |grep -i dumper
#                         模糊搜索  perl 并且 dumper  -i忽略大小写

如果还是没有,可以百度一下或者百度、必应和谷歌 谷歌质量最好,建议国内使用必应。

blob.png

可以全部安装,也可以一个一个试,直到不报错为止,即为正确安装。

[root@yunlinux mysql]# yum install -y perl-Data-Dumper

blob.png

再倒回第一步从新执行,怎么确认是正确安装呢?

第一个方法,安装的过程中出现两处OK,表示正确安装

blob.png

blob.png

第二个方法,是用echo $? 来检验上一条命令是否对!

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

blob.png

在support-files目录下有一个的模板配置文件 my-default.cnf . 并且是注释掉的内容

拷贝时,提示要覆盖之前的配置文件。可以查一下my.cnf 是由哪个包来的呢?

[root@yunlinux mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.56-2.el7.x86_64

之前的配置文件是否可以用呢?

是可以用的,但是需要修改成datadir=/data/mysql socket=/tmp/msyql.sock mysqld_safe下面的log-error和pid-file 注释掉,不使用它;!includedir 也注释掉,也不用。

blob.png

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

启动脚本,需要拷贝到 /etc/init.d/目录下

blob.png

[root@yunlinux mysql]# cp support-files/mysql.server /etc/init.d/mysqld
  • vi /etc/init.d/mysqld

blob.png

  • 定义basedir和datadir

blob.png

其他不用修改,保存退出。

# 文件的权限需要755
[root@yunlinux mysql]# ls -l /etc/init.d/mysqld
-rwxr-xr-x. 1 root root 10592 12月 15 00:21 /etc/init.d/mysqld

#如果需要开机启动,要把mysqld 加入到服务列表里面去
[root@yunlinux mysql]# chkconfig --add mysqld

查看服务列表,里面包含mysqld

blob.png

  • /etc/init.d/mysqld start

[root@yunlinux mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/yunlinux.err'.
. SUCCESS! #表示启动成功了

查看一下进程,命令ps aux |grep mysql

blob.png


查看监听的端口,命令netstat -lntp

blob.png

service mysqld stop 停止服务

blob.png

如果没有init.d的启动脚本启动可以用命令行的方式启动:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & #&符号丢到后台去
                                       #指定配置文件所在的路径

blob.png

查看是否有进程

blob.png

以命令行的形式运行,怎么关掉呢?

必须以killall命令杀掉进程,比较安装。
killall 命令会先把程序执行完毕,才杀掉进程。
如果killall等了很久都没有杀死,说明数据量很大,需要写到磁盘中完毕后,慢慢杀死;
如果强制杀死,可能导致数据丢失或表的损坏。