LNMP平台搭建---MySQL安装篇
在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装。
MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器比较多,可以自己搭建yum源,然后定制rpm包,这样更方便于使用ssh多机自动安装。
源码安装的mysql版本为5.5.32,使用cmake编译安装,下面开始记录安装步骤吧:
1. 安装准备:
MySQL需要使用cmake工具编译和依赖于ncurses-devel库,先安装它们:
1.1 cmake安装:
a. 解压: tar xf cmake-***
b. cd cmake-**
c. ./configure,结果如下:

最后提示我们允许gmake即可。
d. gmake
e. sudo gmake install
f. 查看是否安装成功:

1.2 ncurses-devel安装:
sudo yum install -y ncurses-devel
2. MYSQL安装:
2.1 创建mysql用户和mysql用户组
sudo groupadd mysql
sudo useradd mysql -s /sbin/nologin -M -g mysql
2.2 解压mysql压缩包并进入mysql安装目录
cmake . -DCMAKE_INSTALL_PREFIX=/home/linjk/usr/mysql/mysql-5.5.32 -DMYSQL_DATADIR=/home/linjk/usr/mysql/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/home/linjk/usr/mysql/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLE_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLE_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0
(更多的编译选择可以从mysql官网查看:http://dev.mysql.com/doc/internals/en/cmake-howto-detailed.html)
2.3 执行"make && sudo make install"进行mysql数据库安装,安装步骤可能时间有点长。使用的虚拟机,内存为2G,我make的时间大概8分钟,install大概10秒.
2.4 拷贝mysql的模板配置文件到/etc目录下:

2.5 为了方便使用mysql命令,这里配置一下环境变量:
echo 'export PATH=/home/linjk/usr/mysql/mysql-5.5.32/bin:$PATH' >> /etc/profile,如下示:

2.6 初始化数据文件:
2.6.1 改变目录授权:
sudo chown -R mysql.mysql /home/linjk/usr/mysql/mysql-5.5.32/data/
sudo chmod -R 1777 /tmp/
2.6.2 初始化数据文件:
cd /home/linjk/usr/mysql/mysql-5.5.32/scripts/
sudo ./mysql_install_db --basedir=/home/linjk/usr/mysql/mysql-5.5.32/ --datadir=/home/linjk/usr/mysql/mysql-5.5.32/data/ --user=mysql
2.6.3 拷贝启动脚本到/etc/init.d目录下:
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo chmod u+x /etc/init.d/mysqld
2.6.4 启动数据库:
执行:sudo /etc/init.d/mysqld start 即可
2.6.5 使用命令“netstat -lntup | grep 3306”来确认一下是否启动成功。
2.6.6 现在就可以使用命令"mysql"登录了

如果出现无法登录,可以尝试kill掉mysqd进程,重新初始化一遍data文件。
3. 安装完后可以继续的其他操作:
3.1 删除空用户: delete from mysql.user where user=''; 提高安全性
3.2 mysql.user表中,'::1'host名字是ipv6的,不需要也可以进行删除
3.3 删除测试库: drop database test;
3.4 初始化用户密码:
/home/linjk/usr/mysql/mysql-5.5.32/bin/mysqladmin -u root password 'ljk121121'
3.5 配置开机启动:sudo chkconfig mysqld on
3.6 新增普通用户等个性化配置mysql即可
下一篇,将介绍LNMP平台搭建的最后一步,增加WEB服务器的PHP支持。
LNMP平台搭建---MySQL安装篇的更多相关文章
- LNMP平台搭建---Nginx安装篇
在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...
- LNMP平台搭建---PHP安装篇
在前面三篇中,我们安装了Linux系统.Web服务器Nginx.MySQL数据库服务器,这篇就来将搭建动态网站的最后一步:PHP安装. Nginx服务器只能响应静态资源请求,对于动态资源请求就不行了, ...
- LNMP平台搭建---Linux系统安装篇
在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...
- LNMP环境搭建——MySQL篇
The world's most popular open source database 1.Install MySQL root@kallen:~# apt-get install mysql-s ...
- MySQL集群---②Windows平台搭建MySQL CLUSTER集群
原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...
- Linux 之 LNMP服务器搭建-MySQL
LNMP服务器搭建-MySQL 参考教程:[千峰教育] 系统版本: CentOS 6.8 关闭防火墙和Selinux service iptables stop setenforce 0 安装mysq ...
- centos 7.3 服务器环境搭建——MySQL 安装和配置
centos 7.3 服务器环境搭建——MySQL 安装和配置服务器信息如下:服务器:阿里云系统 centos 7.3 (阿里云该版本最新系统)mysql版本:5.7.18 (当前时间最新版本)连接服 ...
- 大数据平台搭建 - Mysql在linux上的安装
一.简介 MySQL是一个关系型数据库系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...
随机推荐
- 创建django项目
python /usr/local/lib/python3.4/dist-packages/Django-1.9.10-py3.4.egg/django/bin/django-admin.py sta ...
- 解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
出现这种问题是hosts文件没有配置好所导致的,linux无法解析到您的主机地址,解决方案如下: sudo vim /etc/hosts 其中vim是你的文本编辑器的命令,你如果电脑中没有vim,用g ...
- css-css权威指南学习笔记4
第三章 1.继承的值没有特殊性,甚至连0的特殊性都没有.所以改变超链接的样式一般需要独立声明,无法通过继承改变. 2.层叠--冲突的声明通过这个层叠的过程排序,并由此确定最终的文档表示.这个过程的核心 ...
- 1 云计算系列之云计算概述和KVM虚拟化简介
为什么会出现云之传统数据中学面临的问题 物理服务器的利用率非常低,浪费资源,且资源分配不合理,比如一台服务器CPU使用率不到40%,或者某个应用需要的硬件配置低但是服务器硬件配置高等等. 云计算概念 ...
- JS-面向对象
话说,再次看完这个实例后的我,开始怀疑面向对象和JSON的区别...并开始怀疑这是面向对象的真实性 <!DOCTYPE html> <html> <head> &l ...
- XmlSerializer 对象的Xml序列化和反序列化
http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...
- 浅谈JavaScript中的defer,async
引言 开始重读<<JavaScript高级程序设计>>一书,看到关于JavaScript中关于defer.async的部分.网上查询了点资料,觉得蛮好的.现在总结下. defe ...
- PHP常用数据库代码汇总
连接MYSQL //MYSQL数据库配置 define(DB_HOST, '127.0.0.1'); define(DB_USER, 'user'); define(DB_PASS, 'pass'); ...
- js中join和split的用法
- Backbone源码阅读手记
Backbone.js是前端的MVC框架,它通过提供模型Models.集合Collection.视图Veiew赋予了Web应用程序分层结构.从源码中可以知道,Backbone主要分了以下几个模块: ( ...