阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.4编译安装MySQL8.0

137次阅读
没有评论

共计 2777 个字符,预计需要花费 7 分钟才能阅读完成。

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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2777字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中