·LAMP = Linux + Apache(httpd) + MySQL + PHP
三个角色可以在一台机器、也可以分开(httpd和PHP要在一起)
Apache通过PHP的模块到MySQL中提取数据(动态请求)
网站登录的过程就是一个动态请求
访问网站的图片就是静态请求
11.2 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内部测试版本
11.3/11.4/11.5 MySQL安装
MySQL的几个常用安装包:rpm、源码、二进制免编译
二进制免编译包:不用编译,拿来就用
下载包到目录:/usr/local/src
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# ll 总用量 22176 -rw-r--r--. 1 root root 0 1月 6 22:20 ] drwxr-xr-x. 12 1001 1001 4096 1月 6 22:39 httpd-2.2.34 -rw-r--r--. 1 root root 7684419 7月 10 2017 httpd-2.2.34.tar.gz drwxr-xr-x. 17 1000 1000 4096 1月 6 23:10 php-5.6.30 -rw-r--r--. 1 root root 15011816 1月 19 2017 php-5.6.30.tar.bz2 [root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz --2018-01-29 22:30:42-- http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 正在解析主机 mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140 正在连接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:314581668 (300M) [application/octet-stream] 正在保存至: “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz” 100%[============================================================================================================================>] 314,581,668 1.37MB/s 用时 3m 45s 2018-01-29 22:34:28 (1.33 MB/s) - 已保存 “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz” [314581668/314581668]) 解压gz包,并把目录移动到/usr/local/下,并改名为mysql(不可放到mysql下) [root@localhost src]# tar -zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz [root@localhost src]# ll 总用量 329388 -rw-r--r--. 1 root root 0 1月 6 22:20 ] drwxr-xr-x. 12 1001 1001 4096 1月 6 22:39 httpd-2.2.34 -rw-r--r--. 1 root root 7684419 7月 10 2017 httpd-2.2.34.tar.gz drwxr-xr-x. 13 root root 191 1月 29 22:40 mysql-5.6.35-linux-glibc2.5-x86_64 -rw-r--r--. 1 root root 314581668 11月 28 2016 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz drwxr-xr-x. 17 1000 1000 4096 1月 6 23:10 php-5.6.30 -rw-r--r--. 1 root root 15011816 1月 19 2017 php-5.6.30.tar.bz2 [root@localhost src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql [root@localhost src]# cd /usr/local/mysql/ [root@localhost mysql]# ll 总用量 48 drwxr-xr-x. 2 root root 4096 1月 29 22:40 bin -rw-r--r--. 1 7161 31415 17987 11月 28 2016 COPYING drwxr-xr-x. 3 root root 18 1月 29 22:40 data drwxr-xr-x. 2 root root 55 1月 29 22:40 docs drwxr-xr-x. 3 root root 4096 1月 29 22:40 include drwxr-xr-x. 3 root root 4096 1月 29 22:40 lib drwxr-xr-x. 4 root root 30 1月 29 22:40 man drwxr-xr-x. 10 root root 4096 1月 29 22:40 mysql-test -rw-r--r--. 1 7161 31415 2496 11月 28 2016 README drwxr-xr-x. 2 root root 30 1月 29 22:40 scripts drwxr-xr-x. 28 root root 4096 1月 29 22:40 share drwxr-xr-x. 4 root root 4096 1月 29 22:40 sql-bench drwxr-xr-x. 2 root root 136 1月 29 22:40 support-files
初始化
[root@localhost 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##缺少perl dumper包 [root@localhost mysql]# yum list |grep perl |grep -i dumper##先尝试能不能搜到 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 [root@localhost mysql]# yum install -y perl-Data-Dumper.x86_64 (过程省略) [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (过程省略) [root@localhost mysql]# echo $? 0 [root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
(如果系统自带/etc/my.cnf,那么可以直接编辑)
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]# vim /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld##设置服务开机启动 [root@localhost mysql]# chkconfig --list 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关1:关2:开3:开4:开5:开6:关 netconsole 0:关1:关2:关3:关4:关5:关6:关 network 0:关1:关2:开3:开4:关5:关6:关 [root@localhost mysql]# service mysqld start Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'. ... SUCCESS! [root@localhost mysql]# ps aux |grep mysqld root 1532 0.0 0.1 11768 1564 pts/0 S 22:38 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid mysql 1667 40.8 45.2 973060 452004 pts/0 Sl 22:38 0:02 /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/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock root 1697 0.0 0.0 112676 984 pts/0 R+ 22:38 0:00 grep --color=auto mysqld [root@localhost 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 922/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1031/master tcp6 0 0 :::22 :::* LISTEN 922/sshd tcp6 0 0 ::1:25 :::* LISTEN 1031/master tcp6 0 0 :::3306 :::* LISTEN 1667/mysqld
如果在没有配置模板/etc/my.cnf,则用命令行的方法:
[root@localhost mysql]# service mysqld stop Shutting down MySQL.. SUCCESS! [root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & [1] 1848 [root@localhost mysql]# 180131 22:45:06 mysqld_safe Logging to '/data/mysql/localhost.localdomain.err'. 180131 22:45:06 mysqld_safe Starting mysqld daemon with databases from /data/mysql [root@localhost mysql]# !ps ps aux |grep mysqld root 1848 0.0 0.1 113264 1588 pts/0 S 22:45 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql mysql 1971 1.3 45.1 973060 451300 pts/0 Sl 22:45 0:00 /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/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock root 1994 0.0 0.0 112676 980 pts/0 R+ 22:45 0:00 grep --color=auto mysqld (--defaults-file= 指定配置文件)
命令行启动的服务,killall mysqld关闭
进程杀不死,数据太大需要写入,不要强制kill -9杀进程,不然非常容易丢数据或者损坏表
原文地址:http://blog.51cto.com/11530642/2073264