linux运维进阶-lnmp架构之mysql安装及配置
2018-01-27 21:44
946 查看
以下操作基于RHEL6.5
一.lnmp简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
扩展:LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。
二.MySQL的安装
1 MySQL安装前的准备
本次MySQL使用源码安装,在安装之前,要先解决依赖性包。
2 开始进行安装
使用cmake命令进行编译:
编译时参数的含义:
等到编译成功,然后进行安装:
三MySQL的配置
1 添加MySQL用户
2 修改MySQL路径
3 制作配置文件和添加服务
添加用户:
更改目录,创建配置文件:
4 MySQL初始化以及测试登录
四.报错解决:
启动MySql提示:The server quit without updating PID file(…)失败
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
END
一.lnmp简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
扩展:LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。
二.MySQL的安装
1 MySQL安装前的准备
本次MySQL使用源码安装,在安装之前,要先解决依赖性包。
tar zxf mysql-boost-5.7.17.tar.gz #解压mysql的压缩包 cd mysql-5.7.17 #进入目录 当前目录下需要有cmake-2.8.12.2-4.el6.x86_64.rpm yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm #安装依赖性包cmake yum install ncurses-devel -y #安装依赖性包ncurses-devel yum install gcc-c++ -y #安装依赖性包gcc-c++
2 开始进行安装
使用cmake命令进行编译:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/
编译时参数的含义:
#安装目录 -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装 myisam 存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装 innodb 存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安装 archive 存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装 blackhole 存储引擎 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装数据库分区 -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据 -DWITH_READLINE=1 \ #快捷键功能 -DWITH_SSL=yes \ #支持 SSL -DDEFAULT_CHARSET=utf8 \ #使用 utf8 字符 -DDEFAULT_COLLATION=utf8_general_ci \ #校验字符 -DEXTRA_CHARSETS=all \ #安装所有扩展字符集 -DMYSQL_TCP_PORT=3306 \ #MySQL 监听端口
等到编译成功,然后进行安装:
make && make install #编译(make其实就是makefile,后面的make install才是安装!)
三MySQL的配置
1 添加MySQL用户
groupadd -g 27 mysql useradd -u 27 -g 27 -s /sbin/nologin -M -d /usr/local/lnmp/mysql/data mysql #添加mysql用户
2 修改MySQL路径
vim ~/.bash_profile #进入mysql的bin目录下修改文件 把路径修改为如下 10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin source ~/.bash_profile #使新改的目录生效
3 制作配置文件和添加服务
在解压的 mysql-5.7.17路径下 cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld #将mysql服务加入
添加用户:
更改目录,创建配置文件:
4 MySQL初始化以及测试登录
mysqld --initialize --user=mysql #初始化 此时会有一个临时密码 /etc/init.d/mysqld start #开启服务 chown root.root . -R chown mysql data -R mysql_secure_installation #修改密码 mysql -uroot -p #测试登陆
四.报错解决:
启动MySql提示:The server quit without updating PID file(…)失败
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
END
相关文章推荐
- Linux运维进阶-文档总结-LNMP架构之Mysql的安装和配置
- linux运维进阶-lnmp架构之php的安装及配置
- Linux运维进阶-文档总结-LNMP架构之PHP的安装和测试和简单论坛搭建
- Linux(CentOS6.x)下使用yum软件管理工具安装LNMP(Nginx+PHP+Mysql)环境并配置虚拟主机vhost
- LNMP架构的搭建(linux+nginx+mysql+php源码安装 )+Discuz论坛的搭建
- linux下MySQL的安装、配置与运维
- LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记
- LNMP一键安装Linux系统下Nginx+MySQL+PHP这种网站服务器架构
- 【Linux运维入门】Linux环境编译安装、配置Mysql
- LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)
- 最简单!阿里云服务器采用 LNMP一键安装包 配置 Linux+Nginx+Mysql+PHP
- 【Linux运维-集群技术进阶】Keepalived安装配置
- linux的LNMP架构介绍、MySQL安装、PHP安装
- 网站运维架构设计及安装过程(linux+nginx+php-fpm+pgsql+memcached+varnish+mysql)
- 通过rpm包安装、配置及卸载mysql的详细过程 - Richard Shen 运维/架构 - 51CTO技术博客
- 【Linux运维-集群技术进阶】Nginx的安装配置
- Apache+php+mysql在Linux下的安装与配置(转)
- linux PHP Apache Mysql 安装 配置
- Linux下Apache2.2,MySQL6.0和PHP5.2的安装与配置
- 必耀: Apache+php+mysql在Linux下的安装与配置