MySQL 8.0 正式版 8.0.11 已發佈,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改進和更快的性能!mysql
注意:從 MySQL 5.7 升級到 MySQL 8.0 僅支持經過使用 in-place 方式進行升級,而且不支持從 MySQL 8.0 降級到 MySQL 5.7c++
(或從某個 MySQL 8.0 版本降級到任意一個更早的 MySQL 8.0 版本)。惟一受支持的替代方案是在升級以前對數據進行備份。sql
操做系統說明:CentOS 6.4數據庫
數據庫版本:MySQL 8.0.0bootstrap
一.環境準備vim
yum install ncurses-devel -ycentos
yum install libaio -ysocket
yum install glibc-devel.i686 glibc-devel -yide
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庫:
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