一. Centos 用 wget 下载需要的软件,保存到目录/home/zwl/MySql/下

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.17.tar.gz/from/http://mysql.ntu.edu.tw/

wget www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz

wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz

二. 安装 cmake

cd /usr/local/src

tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make
make install
cd ../

tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install

cd ../

三. 编译安装 MySQL 5.5.13

1.添加MySql用户,和分组

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql

//创建和授权MySql目录

mkdir -p  /home/mysql/mysql4309

cd mysql4309

//创建所需的目录

mkdir log--日志文件夹

mkdir src --源码文件夹

mkdir data --数据文件夹

//授权目录

chmod a+w mysql4309/

//修改mysql及所属分组文件属主

chown -R mysql:mysql /home/mysql/mysql4309

//将MySql源码包移动到/home/mysql/mysql4309/的src目录中

mv mysql-5.5.17.tar.gz  /home/mysql/mysql4309/src

//移动之后,执行解压命令

tar -xzvf mysql-5.5.17.tar.gz

cd mysql-5.5.17

//使用cmake命令编译MySql

先输入cmake(先不敲回车)

修改如下部分中的数据后粘贴过来:

-DCMAKE_INSTALL_PREFIX=/home/mysql/mysql4309
-DSYSCONFDIR=/home/mysql/mysql4309
-DMYSQL_UNIX_ADDR=/home/mysql/mysql4309/mysql.sock
-DMYSQL_DATADIR=/home/mysql/mysql4309/data
-DDEFAULT_COLLATION=utf8_general_ci
-DDEFAULT_CHARSET=utf8
-DEXTRA_CHARSETS=all
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_READLINE=1 -DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_USER=mysql
-DWITH_DEBUG=0
-DMYSQL_TCP_PORT=4309

当出现如下信息时:

-- Configuring done

-- Generating done
-- Build files have been written to: /home/mysql/mysql4309/src/mysql-5.5.17

则说明已经编译完成了。

四. 执行make命令(此处可能需要5-8分钟左右)

当出现如下标示:

[100%] Built target my_safe_process

表明make完成了

然后安装MySql,当在data中有mysql和test文件夹时,这证明安装成功

ll ../../data

五.执行初始化

cd script

../script/mysql_install_db --defaults-file=/home/mysql/mysql4309/my.cnf --basedir=/home/mysql/mysql4309 --datadir=/home/mysql/mysql4309/data --user=mysql

六.启动MySql

cd ../support-files/

./mysql.server start

当出现此标记时则,启动成功

Starting MySQL....                                         [  OK  ]

MySQL 配置文件

MySql配置文件my.cnf配置详解

[mysqld]
port = 4309--指定端口
socket = /home/mysql/mysql4309/mysql.sock指定sock文件

basedir=/home/mysql/mysql4309--指定数据库安装目录
datadir=/home/mysql/mysql4309/data--指定数据库数据文件

# Disabling symbolic-links is recommended to prevent assorted security risks

server-id = 4309--标示
log-bin = mysql-bin--二进制日志
log-bin-index = mysql-bin.index
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1

-- 5.5以后的MySql下面4行已经无效
#master-host=101.201.140.214
#master-user=root
#master-password=root4308
#master-port=4308
#replicate-do-db=ng_base
#replicate-do-db=ng_push

symbolic-links=0

max_connections=2048

#skip-grant-tables

#skip-locking
back_log = 500

key_buffer_size = 512M
max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M
read_buffer_size = 4M
join_buffer_size = 8M

myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 256
query_cache_size = 64M

tmp_table_size = 256M
max_connect_errors = 72000
wait_timeout = 28800

interactive_timeout=28800

innodb_buffer_pool_size=768M
innodb_log_file_size=256M
innodb_log_buffer_size=8M
innodb_additional_mem_pool_size=4M
innodb_flush_log_at_trx_commit=0
innodb_thread_concurrency=20
character-set-server=utf8
default-storage-engine=InnoDB--指定存储引擎

[mysqld_safe]
log-error=/home/mysql/mysql4309/log/mysqld4309.log--指定日志文件
pid-file=/home/mysql/mysql4309/data/mysqld.pid--指定pid文件

Linux编译安装Mysql步骤的更多相关文章

  1. linux编译安装MySQL

    最近就想搞搞hadoop,然后装个MySQL,测试一下那个sqoop. MySQL这种东西,既然是开放源码的,那就源码安装吧. 下面是我的测试环境说明: VMware10+Ubuntu14.04 Ky ...

  2. Linux下安装MySQL步骤

    1.下载安装包(这里是32位的): MySQL-client-5.6.13-1.rhel5.i386.rpm MySQL-server-5.6.13-1.rhel5.i386.rpm 2.安装 rpm ...

  3. linux下安装mysql(rpm文件安装)

    数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...

  4. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  5. Linux 环境编译安装mysql (源码安装包)

    标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包.配置163网易提示的网络yum源参考博客  http://www.cnblogs.com/zoulo ...

  6. Linux下安装mysql(yum和源码编译两种方式)

    这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep ...

  7. Linux CentOS6.5下编译安装MySQL 5.6

    检查:卸载掉原有MySql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已 ...

  8. Linux(CentOS6.5)下编译安装MySQL Community Server 5.7.12

      组件 官方网站 直接下载地址 备注 mysql http://dev.mysql.com/downloads/mysql/ http://mirrors.sohu.com/mysql/MySQL- ...

  9. Linux下编译安装MySQL

    一.环境准备yum install -y ncurses-devel libaio-develyum install -y cmake makeuseradd -s /sbin/nologin -M ...

随机推荐

  1. HTML语言的一些元素(一)

    1)标题的六个等级:<h1>,<h2>,<h3>,<h4>,<h5>,<h6>.如果写了诸如:<h7>等,则作为正文 ...

  2. Java日志管理方法(转载)

    原文地址:http://www.cnblogs.com/leocook/p/log_java.html java开发中常见的几种日志管理方案有以下4种: 1. Commons-logging + lo ...

  3. 转:python webdriver API 之上传文件

    文件上传操作也比较常见功能之一,上传功能操作 webdriver 并没有提供对应的方法,关键上传文件的思路.上传过程一般要打开一个系统的 window 窗口,从窗口选择本地文件添加.所以,一般会卡在如 ...

  4. Aptana Studio3开发Python和Ruby(最佳工具)

    即从: http://d1iwq2e2xrohf.cloudfront.net/tools/studio/standalone/3.3.1.201212171919/win/Aptana_Studio ...

  5. c++的用处

    C++准确说是一门中级语言,介于汇编和高级语言之间吧,要求程序员了解计算机的内部数据存储.个人认为,作为学生还是花功夫学C++,因为<设计模式><数据结构>这些课程基本上还是C ...

  6. yii遍历行下的每列数据(小1月考)

    效果图: 控制器(1种): //显示列表    public function actionList()    {        //实例化对象        $model= new Qiu();   ...

  7. paper 27 :图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)

    1. 早期C. Koch与S. Ullman的研究工作. 他们提出了非常有影响力的生物启发模型. C. Koch and S. Ullman . Shifts in selective visual ...

  8. 夺命雷公狗—angularjs—25—angular内置的方法(高级)

    查看版本信息 angular.version console.log(angular.version); 判断是否相等 angular.equals() var str1 = ''; var str2 ...

  9. 夺命雷公狗---Thinkphp----15之遍历出来的栏目页的完成

    我们首页的写法和我们的文章页的代码很相似,我们要在点击我们的栏目页的时候遍历出对应的代码: 那么我们就直接来创建一个ListsController.class.php的文件,代码如下所示: 老规矩遍历 ...

  10. fault coverage enhancement

    在pseudo-random test中,由于random pattern resistant的特性,fault coverage不是sufficient的, 所以会有一些办法来进行coverage的 ...