linux下源码编译安装mysql详解

Posted

tags:

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

linux下源码编译安装mysql详解

1.redhat5环境下,首先安装编译环境

yum groupinstall -y  "Development Libraries"   "Development Tools"

2.由于源码编译mysql需要cmake命令,所以先要编译安装cmake包

 首先下载cmake包,这里下载使用cmake-2.8.8.tar.gz

 tar xf cmake-2.8.8.tar.gz

 cd cmake-2.8.8

 ./configure 

 make && make install

3.使用cmake编译mysql

cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure       相当于     cmake .

./configure --help  相当于     cmake . -LH 或者 ccmake .

4.开始正式编译安装mysql,这里下载使用mysql-5.5.50.tar.gz

groupadd -g 306 mysql

useradd -g 306 -u 306 -M -s /sbin/nologin mysql

mkdir -pv /mydata

mount /dev/VG01/LV01 /dev/mydata  #新增一个LVM(省略)并将其挂载至/mydata

mkdir -pv /mydata/data

chown -R mysql.mysql /mydata/data

tar xf mysql-5.5.50.tar.gz

cd mysql-5.5.50

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

> -DMYSQL_DATADIR=/mydata/data \   #mysql数据存放路径

> -DSYSCONFDIR=/etc \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DWITH_SSL=system \

> -DWITH_ZLIB=system \

> -DWITH_LIBWRAP=0 \

> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci


make 

make install

下面安装如同通用二进制格式安装mysql,如不太熟悉可查看我前面博客

chown -R .mysql /usr/local/mysql/     #更改属组

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

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

cp support-files/mysql.server /etc/init.d/mysqld   #拷贝启动脚本

chkconfig --add mysqld

chkconfig mysqld on

service mysqld start

netstat -antlp | grep 3306    #查看mysql启动状态

ehco "/usr/local/mysql/bin" >> /etc/profile.d/mysql.sh  #修改mysql环境变量

source /etc/profile.d/mysql.sh

mysql                  #连接测试mysql

技术分享

5.编译安装mysql时常用选项解释


5.1.指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc


5.2.默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,如下选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1


5.3.若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1


5.4.如若要编译进其它功能,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1

-DWITH_SSL=system  #开启ssl功能

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0   #取消tcp_wrap功能


5.5.其它常用的选项:

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DENABLED_LOCAL_INFILE=1

-DEXTRA_CHARSETS=all

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_DEBUG=0

-DENABLE_PROFILING=1


5.6.如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt


本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1792039

以上是关于linux下源码编译安装mysql详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下Nginx编译安装过程详解

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

linux下源码编译安装mysql-5.7.31

Linux下源码安装编译mysql数据库

在Linux下源码编译安装GreatSQL/MySQL

linux下Mysql 8.0.19 编译安装