1.LAMP架构介绍
Linux+Apache(httpd)+MySQL+PHP
PHP网站(Google、淘宝、百度、51cto播客、猿课论坛)
三个角色可以在一台机器、也可以分开
可以参考其他文档:
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 下载地址,下载包(以二进制)
tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 解压文件
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
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
报错误,中文翻译如下:
致命错误:请在执行之前安装以下Perl模块。/脚本/ mysql_install_db:
Data::Dumper
解决思路:
模糊搜索相关的支持包名
[root@yunlinux mysql]# yum list |grep perl |grep -i dumper
# 模糊搜索 perl 并且 dumper -i忽略大小写
如果还是没有,可以百度一下或者百度、必应和谷歌 谷歌质量最好,建议国内使用必应。
可以全部安装,也可以一个一个试,直到不报错为止,即为正确安装。
[root@yunlinux mysql]# yum install -y perl-Data-Dumper
再倒回第一步从新执行,怎么确认是正确安装呢?
第一个方法,安装的过程中出现两处OK,表示正确安装
第二个方法,是用echo $? 来检验上一条命令是否对!
cp support-files/my-default.cnf /etc/my.cnf
在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 也注释掉,也不用。
cp support-files/mysql.server /etc/init.d/mysqld
启动脚本,需要拷贝到 /etc/init.d/目录下
[root@yunlinux mysql]# cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
定义basedir和datadir
其他不用修改,保存退出。
# 文件的权限需要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
/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
查看监听的端口,命令netstat -lntp
service mysqld stop 停止服务
如果没有init.d的启动脚本启动可以用命令行的方式启动:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & #&符号丢到后台去
#指定配置文件所在的路径
查看是否有进程
以命令行的形式运行,怎么关掉呢?
必须以killall命令杀掉进程,比较安装。
killall 命令会先把程序执行完毕,才杀掉进程。
如果killall等了很久都没有杀死,说明数据量很大,需要写到磁盘中完毕后,慢慢杀死;
如果强制杀死,可能导致数据丢失或表的损坏。