编译安装MySQL8.0
admin
2023-04-15 08:21:38
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


相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...