MySQL 5.7源码编译安装

本文提供了一份详细的MySQL5.7从源码编译安装教程,包括环境准备、源码下载与配置、编译安装过程以及初始化数据库步骤。适合希望深入了解MySQL部署细节的技术人员参考。

1、准备环境。

# yum install cmake gcc gcc-c++ bison libaio-devel.x86_64 ncurses ncurses-devel

2、 下载并解压MySQL源码包(含boost)。

# tar -zxvf mysql-boost-5.7.16.tar.gz

3、在MySQL源码目录中创建debug目录用于存放编译中间文件等,防止污染源码目录。

# cd mysql-5.7.16
# mkdir debug
# cd debug

4、通过CMake命令生成编译环境。

cmake .. -DBUILD_CONFIG=mysql_release \
         -DINSTALL_LAYOUT=STANDALONE \
         -DCMAKE_BUILD_TYPE=RelWithDebInfo \
	 	 -DENABLE_DTRACE=OFF \
	 	 -DWITH_EMBEDDED_SERVER=OFF \
	 	 -DWITH_INNOBASE_STORAGE_ENGINE=ON \
	 	 -DWITH_INNODB_MEMCACHED=ON \
	 	 -DWITH_SSL=bundled \
	 	 -DWITH_ZLIB=system \
	 	 -DWITH_PAM=ON \
	 	 -DCMAKE_INSTALL_PREFIX=/var/mysql/ \
	 	 -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
		 -DDEFAULT_CHARSET=utf8 \
	 	 -DDEFAULT_COLLATION=utf8_general_ci \
	 	 -DWITH_EDITLINE=bundled \
	 	 -DFEATURE_SET=community \
	 	 -DCOMPILATION_COMMENT="MySQL Server (GPL)" \
	 	 -DWITH_DEBUG=OFF \
	 	 -DWITH_BOOST=../boost

参数名

备注

CMAKE_BUILD_TYPE

指定编译版本的选项

CMAKE_INSTALL_PREFIX

指定MySQL安装的根目录

ENABLED_PROFIING

指定是否打开profile

MYSQL_DATADIR

指定默认数据库路径

OPTIMIZER_TRACE

指定是否打开优化器TRACE模块

WITH_ARCHIVE_STORAGE_ENGINE

指定是否支持Archive存储引擎

WITH_INNOBASE_STORAGE_ENGINE

指定是否支持InnoDB存储引擎

WITH_BLACKHOLE _STORAGE_ENGINE

指定是否支持BLACKHOLE存储引擎

WITH_EXAMPLE _STORAGE_ENGINE

指定是否支持Example存储引擎

WITH_FEDERATED _STORAGE_ENGINE

指定是否支持Federated存储引擎

WITH_INNODB _MEMCACHED

指定是否支持INNODB的MEMCACHED

WITH_PARTITION_STORAGE_ENGINE

指定是否支持partition存储引擎

WITH_PERFSCHEMA_STORAGE_ENGINE

指定是否支持信息模式存储引擎

5、在当前目录下使用make命令开启24个线程进行编译

# make

 6、安装

# make install

142534_iTW5_2000201.png

7、创建配置文件目录、数据目录和配置文件

# mkdir -p /data/mysql/3306
# mkdir /var/mysql/conf
# vim /var/mysql/conf/3306.conf

配置文件内容:

# MySQL服务器端配置部分
[mysqld]
# 客户端端口
port=3306
# 数据保存目录
datadir=/data/mysql/3306
# 错误日志文件
log_error=/data/mysql/3306/error.log
# MySQL安装的根目录
basedir=/var/mysql/

8、使用mysql用户初始化MySQL默认数据库

# /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --initialize --user=mysql

142722_M7zM_2000201.png

备注:所有的数据目录及文件都是由mysql用户和组创建。MySQL 5.7新加入sys库。

9、通过mysql用户启动MySQL服务器

# /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --user=mysql

10、查看MySQL服务进程

# ps -ef|grep mysqld
mysql    48157  2333  1 23:06 pts/1    00:00:00 /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --user=mysql

11、使用root用户和随机密码登录系统,然后为root用户修改密码。随机密码输出在error.log文件中。

# /var/mysql/bin/mysql -uroot -p
Enter password:
mysql> alter user 'root'@'localhost' identified by '新密码';
Query OK, 0 rows affected (0.00 sec)

 

转载于:https://my.oschina.net/leeck/blog/1528592

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值