mysql 5.5源码包安装

Posted 我是一个快乐的小op

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.5源码包安装相关的知识,希望对你有一定的参考价值。

注:由于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源码包安装的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 5.5 & 5.7 源码包如何升级到MySQL 5.7.26

源码安装mysql-5.7.13一周的冤枉路总结。满满的都是泪啊

源码包安装MySQL

源码包安装(Python mysql redis)

mysql源码包安装方法

CentOS6.3源码安装mysql5.6.15