mysql 5.7 源码编译_MySQL 5.7源码编译安装

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

2901853011bfce63d3b3074f30b4be08.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

bc91eceb200f20856550ffab1272cf20.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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值