Linux下mysql编译安装教程

#查看linux发行版本

cat /etc/issue

#查看linux内核版本号

uname -r

本文測试环境centOS6.6

一、Linux下编译安装MySQL前的准备工作

在线安装编译源代码所需的工具和库(无法联网的话要事先准备软件,或者系统盘)

yum install gcc gcc-c++ ncurses-devel perl

从mysql5.5起源代码编译须要借助cmake这款编译工具。从http://www.cmake.org下载cmake源代码并编译安装。

wget  http://www.cmake.org/files/v3.3/cmake-3.3.0.tar.gz

tar -xzvf cmake-3.3.0.tar.gz

cd cmake-3.3.0

./bootstrap ; make ; make install

cd ~

二、设置MySQL用户和组

新增mysql用户组,新增mysql用户

groupadd mysql

useradd -r -g mysql mysql

三、新建MySQL所须要的文件夹

mkdir -p /usr/local/mysql

mkdir -p /data/mysqldb

四、下载MySQL源代码包并解压

能够事先从http://dev.mysql.com/downloads/mirrors.html选择一个镜像去下载源代码文件。也能够直接在线下载。

wget  ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz

(下载源能够自己设置)

tar -zxv -f mysql-5.6.25.tar.gz

cd mysql-5.6.25

五、编译安装MySQL

从mysql5.5起。mysql源代码安装開始使用cmake了,设置源代码编译配置脚本。

进入解压好的mysql文件夹运行

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

注:如要又一次执行配置,须要删除CMakeCache.txt文件(rm CMakeCache.txt)

接着执行命令

make

make instal

附编译參数简单介绍:

-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装文件夹

-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。

默觉得/tmp/mysql.sock

-DDEFAULT_CHARSET=charset_name 设置server的字符集。

缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包括同意的字符集名称列表。

-DDEFAULT_COLLATION=collation_name 设置server的排序规则。

下面是存储引擎选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到server中。并不须要明白地安装。静态编译一个存储引擎到server,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

-DMYSQL_DATADIR=dir_name 设置mysql数据库文件文件夹

-DMYSQL_TCP_PORT=port_num 设置mysqlserver监听端口,默觉得3306

-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。比如,启用此选项(设置为1),cmake将下载谷歌所使用的測试套件执行单元測试。

六、改动mysql文件夹全部者和组

改动mysql安装文件夹

cd /usr/local/mysql

chown -R mysql:mysql .

改动mysql数据库文件文件夹

cd /data/mysqldb

chown -R mysql:mysql .

七、初始化mysql数据库

cd /usr/local/mysql

scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

八、复制mysql服务启动配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

九、复制mysql服务启动脚本及增加PATH路径

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

vim /etc/profile

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

export PATH

source /etc/profile

十、启动mysql服务并增加开机自启动(可选这个步骤,以后能够自己启动的)

service mysql start

chkconfig --level 35 mysql on

能够查看mysql是否启动

netstat -tulnp | grep 3306

mysql -u root -p

第一次登录password为空,假设能登陆上,则成功安装。

设置用户root的password

mysqladmin -u root password '123456'

再次进行登录測试

mysql -uroot -p123456

參考文献:

http://blog.csdn.net/wendi_0506/article/details/39478369

http://blog.csdn.net/hellozpc/article/details/47030415

Linux(centos)下mysql编译安装教程的更多相关文章

  1. Linux CentOS下MySQL的安装配置之浅谈

    前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS   MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...

  2. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  3. CentOS下Eclipse的安装教程

    CentOS下Eclipse的安装教程 据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都 ...

  4. PCL库在Linux环境下的编译安装

    PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...

  5. Linux Centos下软件的安装与卸载方法

    转载于: http://blog.csdn.net/zolalad/article/details/11368879 Linux下软件的安装与卸载   第一章   linux下安装软件,如何知道软件安 ...

  6. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  7. GO语言教程(一)Linux( Centos)下Go的安装, 以及HelloWorld

    写在前面: 目前,Go语言已经发布了1.5的版本,已经有不少Go语言相关的书籍和教程了,但是看了一些后,觉得还是应该自己写一套Go语言的教程.给广大学习Go语言的朋友多一种选择.因为,咱写的教程,向来 ...

  8. Linux系统CentOS下mysql的安装日志

    今天自己捣鼓了一下,在linux系统CentOs6.5下使用源码方式安装和配置mysql,这里记录一下步骤. a) 下载mysql,source版本.Mysql-5.6.20.tar.gz b) 安装 ...

  9. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

随机推荐

  1. Centos7不修改默认交换分区下添加交换分区

    交换分区介绍 Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用. 当系统需要更多的内存资源而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上. 交换分区位于硬 ...

  2. HDU 4928 Series 2

    有了题解以后这题就成了一个模拟题.不过写了好久才把它写对…… Sad #include <iostream> #include <cstdio> #include <cs ...

  3. EXPIREAT

    EXPIREAT key timestamp EXPIREAT 的作用和EXPIRE类似,都用于为key设置生存时间. 不同在于EXPIREAT命令接受都时间参数是UNIX时间戳(unix times ...

  4. 【Henu ACM Round#18 F】Arthur and Walls

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑,为什么一个连通块里面的空格没有变成一个矩形? 如果不是形成矩形的话. 肯定是因为某个2x2的单张方形里面. 只有一个角是墙.其 ...

  5. 洛谷——P3368 【模板】树状数组 2

    https://www.luogu.org/problem/show?pid=3368 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入 ...

  6. ArcGIS api for javascript——地理处理任务-服务区域任务

    描述 本例展示了如何发送一些输入值到ArcGIS Server上的GIS模型并获得结果反馈给web应用.本例中,模型计算自在地图上单击点起始的驱动时间多边形. 例如,这个分析类型可用于想要知道多少人生 ...

  7. 深入理解maven及应用(一):生命周期和插件

    在项目里用了快一年的maven了,近期突然发现maven项目在eclipse中build时很慢,由于经经常使用clean install命令来build项目,也没有管那么多,但近期实在受不了乌龟一样的 ...

  8. 10.ng-class-even与ng-class-odd

    转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS模板使你可以把该作用域内的数据直接绑定到所显示的HTML元素 ng-class-even与n ...

  9. BZOJ 3629 约数和定理+搜索

    呃呃 看到了这道题 没有任何思路-- 百度了一发题解 说要用约数和定理 就查了一发 http://baike.so.com/doc/7207502-7432191.html (不会的可以先学习一下) ...

  10. MessageFormat

    MessageFormat mf = new MessageFormat("{0,number,#.##}, {0,number,#.#}"); Object[] objs = { ...