编译安装MySQL8.0

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MySQL 8.0的开发版目前已经发布,本文介绍了如何在CentOS 6.4中编译安装MySQL8.0。
操作系统说明:CentOS 6.4
数据库版本:MySQL 8.0.0
一.环境准备
yum install ncurses-devel -y
yum install libaio -y
yum install glibc-devel.i686 glibc-devel -y
yum install gcc gcc-c++ -y

另外,MySQL8.0需要用gcc的版本为 4.8以上,而centos 6.4通过yum只能安装到4.4.7,所以在安装mysql8.0之前需要手动安装更高版本的gcc,我这里以gcc-8.8.2为例:

cd gcc-4.8.2
# 载编译需要的依赖包: ./contrib/download_prerequisites
./configure --prefix= /usr/local/gcc-4.8.2/ --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++
make &&make install

说明:make的时间会很长。
安装完后,还需要将原来的gcc环境用新版本的gcc替换掉,否则mysql在安装时还是用的原来的gcc:

mv /usr/bin/gcc /usr/bin/gcc447
mv /usr/bin/g++ /usr/bin/g++447
mv /usr/bin/c++ /usr/bin/c++447
mv /usr/bin/cc /usr/bin/cc447

ln -s /usr/local/gcc-4.8.2/bin/ gcc /usr/bin/gcc
ln -s /usr/local/gcc-4.8.2/bin/ g++ /usr/bin/g++
ln -s /usr/local/gcc-4.8.2/bin/ c++ /usr/bin/c++
ln -s /usr/local/gcc-4.8.2/bin/ gcc /usr/bin/cc


mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6
解决如下问题:

接着,安装boost库:
cd boost_1_60_0
./bootstrap.sh
./b2 stage threading=multi link=shared
./b2 install threading=multi link=shared


二.安装mysql8.0
# 下载和解压mysql
wget -c http://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.0-dmr.tar.gz
tar xf mysql-boost-8.0.0-dmr.tar.gz

# 编译安装mysql
cd mysql-8.0.0-dmr
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
-DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=\etc\mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1   \
-DMYSQL_TCP_PORT=3306   \
-DENABLED_LOCAL_INFILE=1   \
-DEXTRA_CHARSETS=all   \
-DDEFAULT_CHARSET=utf8   \
-DDEFAULT_COLLATION=utf8_general_ci  \
-DWITH_BOOST=/tmp/boost_1_60_0/
make
make install

# 新增mysql用户和组,并配置mysql用户对数据库目录的权限
groupadd mysql  
useradd -g mysql mysql  
chown mysql.mysql /usr/local/mysql -R


# 初始化mysql
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

bin/mysql_ssl_rsa_setup


# 配置文件
cp ./support-files/my-default.cnf /etc/my.cnf  
vim /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data/
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
pid-file=/var/run/mysqld/mysqld.pid
log-error=/var/log/mysqld.log

# 创建进程文件目录
mkdir /var/run/mysqld
chown mysql /var/run/mysqld/ -R

# 设置环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin" >> /etc/profile
source  /etc/profile

# 设置开机启动脚本
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql.server
chkconfig mysql.server on
service mysql.server start
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL 数据库
mysql源码安装详解
mysql源码安装详解
284 0
mysql源码安装详解
|
9月前
|
关系型数据库 MySQL C语言
源码安装MySQL8.0 1
源码安装MySQL8.0
|
9月前
|
关系型数据库 MySQL 网络安全
编译安装MySQL(一)
编译安装MySQL(一)
82 0
|
9月前
|
关系型数据库 MySQL 数据安全/隐私保护
源码安装MySQL8.0 2
源码安装MySQL8.0
|
9月前
|
安全 关系型数据库 MySQL
编译安装MySQL(二)
编译安装MySQL(二)
46 0
|
11月前
|
关系型数据库 MySQL Linux
编译安装MySQL
编译安装MySQL
187 0
|
存储 Oracle 关系型数据库
MySQL源码安装
mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的一款产品,由C和C++语言编写,可移植性高。 支持在多种操作系统上安装,最常见有AIX,linux,window。mysql因为开源免费,所以受到了目前互联网行业的 欢迎。 以mysql作为数据库,linux系统作为操作系统,apache或者nginx作为web服务器,perl/php/python作为服务 端的脚本解释器,就可以搭建起一个免费的网站。被业界称为LNMP或者LAMP
173 0
|
关系型数据库 MySQL Apache
Mysql的编译安装与配置
一、安装apache 二、Mysql的安装与配置 三、注意 四、启动MYSQL
|
JavaScript 安全 关系型数据库
Mysql8.0.18的源码安装
mysql8.0.18的源码安装
|
关系型数据库 MySQL Shell