11月9日任务
11.1 LAMP架构介绍
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装php
LAMP:Linux + Apache(httpd) + MySQL + PHPmysql
对于搭建一个简单的LAMP架构,能够将上述的3中软件安装再同一个Linux内;对于大的LAMP架构,必须保证Apache和PHP在同一个服务器上,MySQL安装在另外的服务器,经过网络来进行数据的交互。linux
MySQL是一个关系型数据库,由mysql ab公司开发,并于2008年被sun公司收购;2009年sun公司被oracle公司收购。c++
MySQL官网:https://www.mysql.comsql
最新版本5.7GA/8.0DMR数据库
MySQL5.6变化比较大,5.7性能上有很大提高apache
Mariadb是MySQL的一个分支,官网https://mariadb.com/ 最新版本10.2浏览器
MariaDB主要由SkySQL公司(现改名为MariaDB公司)维护,该公司为MySQL原班人马建立。服务器
MariaDB5.5对于MySQL5.5,10.0对应MySQL5.6网络
可使用rpm、源码、二进制免编译的方式来安装MySQL。
推荐使用二进制免编译安装包,解压后初始化便可使用。
[root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz --... 10:44:16-- http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-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 长度:316320366 (302M) [application/octet-stream] 正在保存至: “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz” 100%[================================>] 316,320,366 417KB/s 用时 5m 47s ... 10:50:03 (891 KB/s) - 已保存 “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz” [316320366/316320366])
[root@localhost src]# tar zxf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz [root@localhost src]# ll 总用量 308912 drwxr-xr-x. 13 root root 191 11月 11 10:54 mysql-5.6.36-linux-glibc2.5-x86_64
[root@localhost src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql [root@localhost src]# cd /usr/local/mysql/
[root@localhost mysql]# useradd mysql
[root@localhost mysql]# mkdir /data
# 数据库初始化 [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 # 查询缺乏的软件包并安装 [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 # 从新初始化 [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql # 判断是否成功初始化 [root@localhost mysql]# echo $? 0
# 原/etc/目录下存在my.cnf文件,直接覆盖 [root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf cp:是否覆盖"/etc/my.cnf"? y # 修改配置文件内basedir和datadir参数 [root@localhost mysql]# vi /etc/my.cnf 修改[mysqld]内的2行便可 basedir = /usr/local/mysql datadir = /data/mysql 保存退出
# 拷贝启动脚本至开机启动目录/etc/init.d/,并重命名为mysqld [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld # 修改mysqld配置文件, [root@localhost mysql]# vi /etc/init.d/mysqld 一样要修改一下参数 basedir=/usr/local/mysql datadir=/data/mysql # 修改权限并使用chkconfig设置开机启动 [root@localhost mysql]# chmod 755 /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 2856 0.0 0.1 113264 1616 pts/0 S 13:52 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid mysql 2990 8.5 45.0 1308984 450220 pts/0 Sl 13:52 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/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid root 3019 0.0 0.0 112676 972 pts/0 R+ 13:53 0:00 grep --color=auto mysqld # 关闭mysqld [root@localhost mysql]# service mysqld stop 或 [root@localhost mysql]# /etc/init.d/mysqld stop
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & [1] 3067 [root@localhost mysql]# 171111 14:02:06 mysqld_safe Logging to '/data/mysql/localhost.localdomain.err'. 171111 14:02:06 mysqld_safe Starting mysqld daemon with databases from /data/mysql [root@localhost mysql]# !ps ps aux | grep mysqld root 3067 0.1 0.1 113268 1600 pts/0 S 14:02 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql mysql 3189 6.8 44.9 1300788 449528 pts/0 Sl 14:02 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 root 3212 0.0 0.0 112676 976 pts/0 S+ 14:02 0:00 grep --color=auto mysqld [root@localhost mysql]# killall mysqld 也能够经过kill命令关闭mysql主进程来关闭 [root@localhost mysql]# kill 3189
killall命令安装:yum install -y psmisc
也可以使用kill命令来关闭mysql进程,可是会形成当前读写的部分数据丢失;
killall命令则会中止后续的读写操做,并将以前未写入磁盘的数据保存到磁盘后,而后杀死进程。
在使用killall关闭mysql时会有时短期关闭不了,不要紧,由于数据过多须要时间,等待便可,千万不要使用kill -9强制杀死,会形成数据的丢失!
编译安装前提
yum install -y gcc gcc-c++
安装mysql
yum install -y perl-Data-Dumper libaio-devel