LAMP架构介绍
linux + apache(httpd)+ mysql +php
对于小型网站可以三个(amp)服务在一台机器上,对于访问量大的网站最好分开(httpd和php一台,mysql一台,通过网络连接)
例如当用户登录网站时,输入用户名密码,通过apache传给php,php传给mysql,与mysql里的用户密码匹配,反馈给php,php传给apache,在返回给浏览器。
MySQL、MariaDB介绍
MySQL安装
二进制免编译包安装步骤
- 1、下载包
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
- 2、 解压
tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
- 3、移动目录,改名字为mysql
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
- 4、进入mysql目录
cd /usr/local/mysql
[root@glinux-01 mysql]# ls
bin data include man README share support-files
COPYING docs lib mysql-test scripts sql-bench
- 5、创建mysql用户 创建mysql数据目录
[root@glinux-01 mysql]# useradd mysql
[root@glinux-01 mysql]# mkdir /data/
[root@glinux-01 mysql]# ls
bin data include man README share support-files
COPYING docs lib mysql-test scripts sql-bench
- 6、初始化/data/mysql
[root@glinux-01 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@glinux-01 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@glinux-01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
也可能出现此错误。解决方法:yum install libaio* -y
[root@g_linux01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries
: libaio.so.1: cannot open shared object file: No such file or directory
- 7修改配置文件vi /etc/my.cnf如果没有这个文件cp support-files/my-default.cnf /etc/my.cnf
8拷贝脚本启动文件到/etc/init.d下 改名mysqld
[root@glinux-01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
9修改脚本vi /etc/init.d/mysqld 修改basedir和datadir的值
basedir=/usr/local/mysql
datadir=/data/mysql
10设置开机启动
[root@glinux-01 mysql]# chkconfig --add mysqld
[root@glinux-01 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:关
11手动启动/etc/init.d/mysqld start或service mysql start
/etc/init.d/mysqld stop关闭
[root@glinux-01 mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/glinux-01.err'.
....... SUCCESS!
如果没有启动脚本去拷贝,可以执行这条命令启动mysql
/usr/local/mysql/bin/mysqld_safe --defaults=/etc/my.cnf --user=mysql --datadir=/data/mysql &
--defaults=/etc/my.cnf 指定配置文件所在路径
对于命令行启动的mysql,用killall mysqld可防止数据丢失。
netstat -lntp 查看是否启动