安装依赖
yum -y update
yum -y
install epel-release
yum -y group
install "Development Tools"
yum -y
install ncurses-devel openssl openssl-devel bison
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.17.tar.gz
安装cmake3.17.0
wget https://cmake.org/files/v3.17/cmake-3.17.0.tar.gz
tar -zxvf cmake-3.17.0.tar.gz
cd cmake-3.17.0
./bootstrap
gmake
make install
cmake --version
安装GCC 9.2.0
wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
tar -zxvf gcc-9.2.0.tar.gz
cd gcc-9.2.0
./contrib/download_prerequisites
./configure --prefix
=/usr/local/gcc --enable-bootstrap --enable-checking
=release --enable-languages
=c,c++ --disable-multilib
time make -j4 //-j4的作用是利用多核,4代表4核cpu
make install –j4
备份旧 gcc 可执行文件
mv /usr/bin/gcc /usr/bin/gcc.back
mv /usr/bin/g++ /usr/bin/g++.back
mv /usr/bin/c++ /usr/bin/c++.back
mv /usr/bin/cpp /usr/bin/cpp.back
mv /usr/bin/gcov /usr/bin/gcov.back
ln -sf /usr/local/gcc/bin/* /usr/bin/
rm -rf /usr/local/gcc/lib64/libstdc++.so.6.0.27-gdb.py
echo /usr/local/gcc/lib64
>> /etc/ld.so.conf
ldconfig
cp /usr/local/gcc/lib64/libstdc++.so.6.0.27 /lib64/
cd /lib64
ln -sf libstdc++.so.6.0.27 libstdc++.so.6
strings /usr/lib64/libstdc++.so.6
| grep GLIBCXX
解压并创建用户和目录
tar -zxvf mysql-boost-8.0.17.tar.gz
cd mysql-8.0.17/
useradd mysql
mkdir /data/mysql
chown -R mysql:mysql /data/mysql/
mkdir /usr/local/boost
编译安装mysql
cmake \
-DCMAKE_INSTALL_PREFIX
=/usr/local/mysql \
-DMYSQL_DATADIR
=/data/mysql \
-DSYSCONFDIR
=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE
=1 \
-DWITH_PARTITION_STORAGE_ENGINE
=1 \
-DWITH_FEDERATED_STORAGE_ENGINE
=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE
=1 \
-DWITH_MYISAM_STORAGE_ENGINE
=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE
=1 \
-DWITH_READLINE
=1 \
-DENABLED_LOCAL_INFILE
=1 \
-DENABLE_DTRACE
=0 \
-DDEFAULT_CHARSET
=utf8 \
-DDEFAULT_COLLATION
=utf8_general_ci \
-DWITH_EMBEDDED_SERVER
=1 \
-DFORCE_INSOURCE_BUILD
=1 \
-DDOWNLOAD_BOOST
=1 \
-DWITH_BOOST
=/usr/local/boost
make -j4
make install -j4
复制启动文件
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
echo export PATH
=$PATH:/usr/local/mysql/bin
>>/etc/profile
source /etc/profile
添加配置文件
vim /etc/my.cnf
[client
]
port
=3306
socket
=/tmp/mysql.sock
default-character-set
=utf8
[mysqld
]
server-id
=1
port
=3306
user
=mysql
max_connections
=512
socket
=/tmp/mysql.sock
basedir
=/usr/local/mysql
datadir
=/data/mysql
pid-file
=/data/mysql/mysql.pid
character-set-server
=utf8mb4
default-storage-engine
=INNODB
log_error
=/data/mysql/error.log
slow_query_log_file
=/data/mysql/mysql-slow.log
default-authentication-plugin
=mysql_native_password
max_allowed_packet
=32M
log-bin
=/data/mysql/mysql-bin
binlog_format
=ROW
[mysqldump
]
quick
max_allowed_packet
=2G
初始化数据库
mysqld --initialize-insecure --user
=mysql --basedir
=/usr/local/mysql --datadir
=/data/mysql
service mysqld start
mysql -uroot
alter user user() identified
by "123456";
create user 'root'@'
%' identified by '123456';
grant all privileges on *.* to 'root
'@'%'
;
flush
privileges;