注:由于mysql5.5的源码包安装与mysql之前的版本安装方法不同,故写一篇随笔记录。5.5的版本不再是./configure make make install 这里用到了cmake了,cmake是一个跨平台的编译工具。

注意:

mysql-5.5以后的版本不能使用make编译,只能使用cmake工具编译安装。

cmake指定编译选项的方式不同于make 。

"./configure" 与 "cmake . "相似

"./configure --help "  与 "cmake . -LH "或者" ccmake . "相似

一,提前安装mysql依赖的库。

yum install -y  make bison cmake gcc-c++ ncurses ncurses-devel

二,下载mysql并解压。

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.49.tar.gz

tar zxvf mysql-5.5.49.tar.gz

cd mysql-5.5.49.tar.gz

三,创建mysql用户、datadir.

groupadd mysql
useradd -g mysql  -s /sbin/nologin  mysql
mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql

四,编译前的参数配置

cmake  . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1

配置参数说明:

DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录

-DINSTALL_DATADIR=/data/mysql                     //数据库存放目录

-DDEFAULT_CHARSET=utf8                        //使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci            //校验字符

-DEXTRA_CHARSETS=all                            //安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

其它参数配置具体可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

五,编译

make

六,安装

make install

七,cd到basedir中去,复制配置文件,并初始化mysql.

cd /usr/local/mysql

chown -R mysql  /usr/local/mysql

cp support-files/my-medium.cnf  /etc/my.cnf

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

八,拷贝启动脚本并添加到服务列表,开机启动。

cp support-files/mysql.server /etc/init.d/mysqld

vim /etc/init.d/mysqld  指定basedir 和 datadir的目录

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

/etc/init.d/mysqld start

九,添加环境变量

echo "PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh

source /etc/profile

特别说明:

重新编译时,需要清除旧的对象文件和缓存信息。

# make clean

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf

扩展知识:./configure 与cmake的区别

./configure就是执行你当前目录下一个名叫configure的脚本,由它生成Makefile,有了Makefile之后,一般来说就可以通过make进行编译,make install进行安装

cmake就是一个与make同级别的编译工具,只不过它依靠的不是Makefile作为编译规则,而是根据CMakeLists.txt来编译的。

mysql 5.5源码包安装的更多相关文章

  1. MySQL5.7 二进制源码包安装

    一般平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以建议安装二进制免编译包.可以到MySQL官方网站去下载,也可以到comsenz官方网站下载,还有各大镜像站下载. 下载安装包 ...

  2. 源码包安装(Python mysql redis)

    一  源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...

  3. Mysql安装 ----> 基于源码包安装

    1)基于源码包安装MySQL [root@localhost ~]# rpm -q mysql mysql-server mariadb mairadb-server           //检查有没 ...

  4. Zabbix源码包安装

    Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg  /bin  /lib   / ...

  5. Mysql_源码包安装详细过程

    一.mysql安装 1.二进制安装 2.源码包安装 3.rpm包安装 1.源码包安装 1)上传或下载源码包 [root@db02 ~]# rz mysql-5.6.46.tar.gz 2)安装依赖 由 ...

  6. Linux之源码包安装软件

    安装准备      安装c语言编辑器 gcc      压缩包  node-v6.2.0-linux-x64.tar.gz   源码包保存位置  /usr/local/src/ 源码包安装位置 /us ...

  7. Apache源码包安装和子配置文件介绍--update.2014-12-5

    安装apache: 官网:http://httpd.apache.org/download.cgi#apache24 1.wget http://mirror.bit.edu.cn/apache//h ...

  8. Lamp源码包安装实录

    Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...

  9. 【Ubuntu 16】源码包安装Apache Httpd

    源码包安装适合初学者使用. 背景信息 APR (Apache Portable Runtime) Apache可移植运行的任务(APR)项目是创建和维护软件库,为底层平台的具体实现提供了一个可预见的和 ...

随机推荐

  1. hdu 4427 Math Magic

    一个长了一张数学脸的dp!!dp[ i ][ s ][ t ] 表示第 i 个数,sum为 s ,lcm下标为 t 时的个数.显然,一个数的因子的lcm还是这个数的因子,所以我们的第三维用因子下标代替 ...

  2. 【算法】插入排序 insertion_sort

    准备写个<STL 源代码剖析>的读书笔记,开个专栏.名为<STL 的实现>,将源代码整理一遍.非常喜欢侯捷先生写在封底的八个字:天下大事.必作于细.他在书中写到:"我 ...

  3. poj1036-dp

    http://poj.org/problem?id=1036 题目分析: 由题目很容易就能想到这道题目是DP题目. 当然,它的DP方程也不难得到: 定义状态:d[i,j] 表示在时间t=i且门状态为j ...

  4. Juqery 中使用 ajax

    从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据. jQuery 代码: $.getJSON("test.js", { name: ...

  5. EffectiveC#17--装箱和拆箱的最小化

    1.如下这段代码会经历装箱和拆箱.例如25会先装箱成object后传递给writeline方法(一次拷贝),在方法内部又 经历拆箱成int(第二次拷贝)后然后调用tostring(). Console ...

  6. 多个Activity和Intent(转)

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  7. 使用DataReader读取数据

    List<User> allUsers = new List<User>(); SqlConnection conn = new SqlConnection(连接字符串); S ...

  8. toJOSN()方法

    toJSON方法可以作为函数过滤器的补充.序列化的顺序如下: (1)如果存在toJSON方法而且能够通过它取得有效值,则调用该方法. (2)如果提供了第二个参数,应用该函数过滤器.传入过滤器的值是步骤 ...

  9. 理解Python中的装饰器

    文章先由stackoverflow上面的一个问题引起吧,如果使用如下的代码: @makebold @makeitalic def say(): return "Hello" 打印出 ...

  10. mysql中的意向锁IS,IX

    知识储备: 1.官方文档上说mysql是支持非锁定读的:这个功能是这样实现的,如果事务a 要对行的数据进行更新的话,那么事务a要得到行的x锁,并把这一行  之前的样子记录在undo log里面,这样一 ...