千家信息网

编译安装MySQL8.0

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!注意:从 MySQL 5.7 升级到 MySQL 8.
千家信息网最后更新 2026年10月31日编译安装MySQL8.0

MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

注意:从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7

(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.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为例:

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz

tar xf gcc-4.8.2.tar.gz

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库:

wget -c http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2 --no-check-certificate

tar xf boost_1_60_0.tar.bz2\?r\=\&ts\=1479114685\&use_mirror\=ncu

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


版本 数据 环境 升级 支持 编译 数据库 文件 用户 目录 配置 操作系统 变量 备份 官方 性能 手动 方式 方案 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 江苏根荣互联网科技 互联网科技公司华为 工业互联网科技新基建 互联网巨头反垄断金融科技 互联网下的科技发展 关于新基建和互联网科技 互联网金融 科技 互联网科技集团 中正互联网科技招聘 隆华科技工业互联网 剑昆互联网络科技有限公司临桂 互联网科技产业特征 科技类公司包括互联网吗 群盈汇互联网科技有限公司 互联网方面的科技前沿 每天都有哪些好的互联网科技 广州燕处互联网科技有限公司 济南小医互联网科技有限公司招聘 普陀区互联网教育科技管理办法 互联网科技工作委员会毛军 中国 科技 互联网 互联网汽车科技小镇 新兴科技互联网创新大赛颁奖典礼 乌苏新华互联网科技做什么的 互联网科技人工智能实验室 特约风豹互联网科技为什么扣费 长沙互联网科技 烟台灵鸽互联网科技有限公司 互联网科技机房
0