mysql 8.0源码安装

安装cmake

wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
tar -zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
./bootstrap && make && make install
/usr/local/bin/cmake --version
rm -rf /usr/bin/cmake
ln -s /usr/local/bin/cmake /usr/bin/
cmake --version

安装gcc至少5.3.0版本

通过执行以下语句,检查当前 gcc 版本是否符合安装要求。

gcc --version

如果版本不符合要求,按照以下步骤将 gcc 切换为正确版本。

  1. 安装 scl 源
yum install centos-release-scl scl-utils-build -y
  1. 安装 9.3.0 版本的 gcc、gcc-c++、gdb
yum install devtoolset-9-gcc.x86_64 devtoolset-9-gcc-c++.x86_64 devtoolset-9-gcc-gdb-plugin.x86_64 -y
  1. 切换至 9.3.0 版本
scl enable devtoolset-9 bash
  1. 版本检查
gcc --version

下载MySQL源码包并安装

下载地址:http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-boost-8.0.18.tar.gz
解压源码包并进行编译安装

tar -xf mysql-boost-8.0.18.tar.gz
cd mysql-boost-8.0.18
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_BOOST=/opt/mysql-8.0.18/boost \
-DFORCE_INSOURCE_BUILD=1 \
-DCMAKE_CXX_COMPILER=/usr/local/gcc-8.3.0/bin/g++ \
-DDEFAULT_CHARSET=utf8
make
make install

修改配置文件my.cnf

# vim /etc/my.cnf
[mysqld]
port=3306
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mariadb/mariadb.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
 
[client]
socket=/var/lib/mysql/mysql.sock
 
 
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
socket=/var/lib/mysql/mysql.sock

创建mysql用户并对上面配置文件的相关目录文件赋予mysql用户权限

数据初始化,并启动mysql8

#数据初始化,注意会显示我们的初始密码
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/data/mysql/

#将源码下的mysql-file下的mysql.server拷贝到我们的/etc/init.d/,并启动mysql
cp /opt/mysql-8.0.18/mysql-files/mysql.server /etc/init.d/
service mysql start

你可能感兴趣的:(mysql,linux,数据库)