lamp架构(一)——简介与mysql安装
11.1 LAMP架构介绍
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
LAMP架构介绍
LAMP是指(Linux+Apache(httpd)+MySQL+PHP)一组通常一起使用来运行动态网站或者服务器的自由软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台(简单说就是建立web服务器架网站)。
lamplogo图三个角色可以在一台机器、也可以分开(httpd和PHP要在一起)
MySQL、MariaDB介绍
MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)。MySQL5.6变化比较大,5.7性能上有很大提升。
Mariadb为MySQL的一个分支。MariaDB主要由SkySQL公司(已更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立。Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6。
MySQL安装
MySQL安装方式有二进制包、源码包。我们常用二进制包,不过有些公司可能想源码编译提高性能。下面是mysql5.6二进制包安装方法。
- 下载mysql5.6安装包
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
- 解压后移到/usr/local/改名mysql
mkdir -p /data/mysql
useradd -s /sbin/nologin -M mysql
./script/mysql_install_db --user=mysql --datadir=/data/mysql #报错提示安装以下依赖:perl-Module-Install libaio-devel
-
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
#设置mysql配置文件,详见下面 -
cp /usr/local/mysql/support-files/mysql.service /etc/init.d/mysqld
#设置mysql启动配置文件,详见下面 -
service mysqld start
或systemctl start mysqld
#启动mysql
mysql5.7二进制包安装方法和上面类似。安装时linux可能会缺少依赖包,根据提示搜索安装。比如用搜索引擎搜索关键报错信息,如果知道依赖包的关键字可以尝试yum list|grep xxx
。我使用miniDVD安装的centos7,在第五步缺少perl和libaio相关依赖。
mysql配置文件
my.cnf是mysql配置文件,默认在linux的/etc/my.cnf。5.7版本之前二进制包中support-file目录里有其模板。将模板复制到/etc/下面后vim /etc/my.cnf
。文件里主要配置以下几行:
innodb_buffer_pool_size = 128M
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
server_id =128
socket =/tmp/mysql.sock
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
basedir是mysql安装目录,datadir是指定mysql数据库目录,其他设置保持默认即可。
除了my.cnf,启动脚本也很重要。support-file目录中也有模板(mysql.service)。cp /usr/local/mysql/support-file/mysql.service /etc/init.d/mysqld
把模板拷贝到/etc/init.d/目录后就可以使用chkconfig配置启动服务:
chkconfig --add mysqld #添加mysqld
chkconfig mysqld on #设置mysqld开机启动
然后就可以启动mysqld服务了。这里使用service mysqld start
或者systemctl start mysqld
都可以。前一个命令是sysV的启动方式,后一个是system的启动方式。除此之外还可以使用/usr/local/mysql/bin/mysql-safe --default-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
来启动。