在前两篇中,安装了一个基本的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安装篇的更多相关文章

  1. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  2. LNMP平台搭建---PHP安装篇

    在前面三篇中,我们安装了Linux系统.Web服务器Nginx.MySQL数据库服务器,这篇就来将搭建动态网站的最后一步:PHP安装. Nginx服务器只能响应静态资源请求,对于动态资源请求就不行了, ...

  3. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  4. LNMP环境搭建——MySQL篇

    The world's most popular open source database 1.Install MySQL root@kallen:~# apt-get install mysql-s ...

  5. MySQL集群---②Windows平台搭建MySQL CLUSTER集群

    原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...

  6. Linux 之 LNMP服务器搭建-MySQL

    LNMP服务器搭建-MySQL 参考教程:[千峰教育] 系统版本: CentOS 6.8 关闭防火墙和Selinux service iptables stop setenforce 0 安装mysq ...

  7. centos 7.3 服务器环境搭建——MySQL 安装和配置

    centos 7.3 服务器环境搭建——MySQL 安装和配置服务器信息如下:服务器:阿里云系统 centos 7.3 (阿里云该版本最新系统)mysql版本:5.7.18 (当前时间最新版本)连接服 ...

  8. 大数据平台搭建 - Mysql在linux上的安装

    一.简介 MySQL是一个关系型数据库系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 ...

  9. LNMP平台搭建之一:nginx编译安装

    参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...

随机推荐

  1. javascript学习笔记10----字符串的基本操作

    1.字符串的基本操作如下: 定义字符串: var str = "Hello World!" 字符串的基本操作如下: str.length-----返回字符串长度,这里返回12 st ...

  2. iOS多线程学习

    在 iOS 中其实目前有 4 套多线程方案,他们分别是: Pthreads NSThread GCD NSOperation & NSOperationQueue 所以接下来,我会一一讲解这些 ...

  3. 机器学习笔记-----Fisher判别式

    本文申明:本系列文章为本人原创,如有转载请注明文章原地址. 今天我们机器学习老师在说到周志华老师的<机器学习>这本书的时候,p60页讲到了LDA,但是其中的公式推导省略了很多,现在我来补充 ...

  4. 11月15日下午 ajax返回数据类型为XML数据的处理

    ajax返回数据类型为XML数据的处理 /*XML:可扩展标记语言 HTML:超文本标记语言 标签:<标签名></标签名> 特点: 1.必须要有一个根 2.标签名自定义 3.对 ...

  5. Web jquery表格组件 JQGrid 的使用 - 7.查询数据、编辑数据、删除数据

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  6. SQL Server附加数据库时报1813错误的解决方案

    SQL Server附加数据库时报1813错误的解决方案   无法打开新数据库 'ASR'.CREATE DATABASE 中止. 文件激活失败.物理文件名称'E:\SqlServer\MSSQL\D ...

  7. 在Activity之间传递参数(三)——serializable和parcelable的区别

    传递值对象: 一.serializable实现:简单易用 serializable的迷人之处在于你只需要对某个类以及它的属性实现Serializable 接口即可.Serializable 接口是一种 ...

  8. 前端开发者进阶之函数柯里化Currying

    穆乙:http://www.cnblogs.com/pigtail/p/3447660.html 在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接 ...

  9. 微信 5.3 for iPhone已放出 微信iphone版更新下载

    就在几个小时前,微信发布了更新,本次只放出微信 5.3 for iPhone,距离发布微信5.3内测版也就几天时间.和往常一样微信iphone版先发布,微信android版延后发布,微信看重的是ios ...

  10. PhpStorm 8.x/9.x 快捷键设置/个性化设置,如何多项目共存?如何更换主题?

    1."自定义"常用快捷键(设置成跟Eclipse差不多) 按照路径:File -> Settings -> Appearance & Behavior -> ...