源码编译安装mysql5.6_源码编译安装MySQL

1.清理环境

[root@lnmp src]# rpm -ql | grep mari*

如果有的话就卸载

MySQL所需依赖如下

cmake

make(推荐3.75以上)

编译器(GCC5.3+或Clang4.0+或XCode9+或Developer Studio12.6+或Visual Studio2017)

SSL库(默认使用系统的OpenSSL)

Boost C++库,需要用来构建但不需要使用,无需安装,源码即可

ncurses库

bison2.1+

git

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

2.安装编译MySQL的工具cmake

解压源码包

tar -zxvf cmake-3.17.4.tar.gz

进入解压的目录

./configure --prefix=/usr/local/cmake

Error when bootstrapping CMake:

Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.

Please specify one using environment variable CXX.

The C++ flags are "".

They can be changed using the environment variable CXXFLAGS.

See cmake_bootstrap.log for compilers attempted.

作者这里遇到问题,是因为没有gcc等等依赖,安装一下就好了

yum -y install gcc-c++ gcc

在编译过程中又出现如下错误,并且给了解决方案 在编译的时候加上如下参数就好了

问题千千万,大部分问题都可以在他的报错找到解决办法

-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)

CMake Error at Utilities/cmcurl/CMakeLists.txt:454 (message):

Could not find OpenSSL. Install an OpenSSL development package or

configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

那么如何设置这个变量呢,作者根据cmake的语法,就在顶层CMakeLists.txt文件的开头加入

set(CMAKE_USE_OPENSSL OFF)这个就是设置变量的语法,然后再尝试执行编译命令

CMake has bootstrapped. Now run gmake.果然成功了

./configure成功之后

make

make install

由于俺是个初学者喜欢钻研,采用编译方式

您可以试试直接yum安装0.0

3.进入MySQL源码目录

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

-- Configuring done

-- Generating done

预编译完成

make

安装之前不要忘了先创建MySQL用户和用户组

make install

安装完成后将命令查找路径加入MySQL的bin目录,之后将所有MySQL的文件,更改为MySQL用户组和用户

groupadd mysql

useradd -g mysql mysql

修改/usr/local/mysql权限

chown -R mysql:mysql /usr/local/mysql

初始化配置

进入安装路径, 执行初始化配置脚本,创建系统自带的数据库和表:

cd /usr/local/mysql

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

如果安装失败,若出现FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:

Data::Dumper

解决如下:

yum install 'perl(Data::Dumper)'

MySQL编译完成,注意:在CentOS 6.4及以后版本操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

一切完成之后,将mysql设置开机启动

[root@lnmp mysql]# cp support-files/mysql.server /etc/init.d/mysql

[root@lnmp mysql]# chkconfig mysql on

[root@lnmp mysql]# service mysql start

搞定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值