- 安装前说明:
- 安装的版本比较新,很多依赖包需要自己从网上下载,系统自带的软件包不足达到编译要求
- 内存最好预留15GB
一.安装
- 从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/
- 给虚拟机开启网络(KVM)
- root用户下(防火墙为iptables)
iptables -t nat -I POSTROUTING -s 172.25.10.1/24 -j MASQUERDE ##给虚拟机server1开启网络
- 安装cmake:(下面用的这些包都是自己下载的)
yum install jsoncpp-0.10.5-2.el7.x86_64.rpm jsoncpp-devel-0.10.5-2.el7.x86_64.rpm
yum install cmake3-3.6.1-2.el7.x86_64.rpm cmake3-data-3.6.1-2.el7.noarch.rpm -y ##因为有依赖性,同时安装
cd /usr/bin
ln -s /usr/bin/cmake3 /usr/local/bin/cmake ##制作软链接
camke --version ##查看版本
- 安装gcc:
-
配置yum源
-
cd /etc/yum.repos.d
-
vim CentOS-SCL.repo
[base]
name=CentOS-os
baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
- 安装
- yum install devtoolset-7-gcc*
- scl enable devtoolset-7 bash
gcc --version##查看版本
- mysql8的编译
tar zxf mysql-boost-8.0.21.tar.gz
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci -DWITH_BOOST=/root/mysql-8.0.21/boost/boost_1_72_0/
make
make install
- make步骤时间持续较长,需30min-1h,请耐心等待
- mysql的配置
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld##拷贝启动脚本
useradd -M -d /usr/local/mysql/ -s /sbin/nologin mysql ##新建mysql用户
cd /usr/local/mysql
mkdir -p /data/mysql ##建立数据目录,手动建立,与预编译写的一致,local/mysql -DMYSQL_DATADIR=/data/mysql
chown mysql.mysql /data/mysql
- mysql的初始化
- cp /usr/local/mysql/mysql-test/include/default_my.cnf /etc/my.cnf
- vim /etc/my.cnf
[mysqld]
basedir=/usr/local/lnmp/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
#skip-grant-tables
#
#include all files from the config directory
#
!includedir /etc/my.cnf.d
- 添加环境变量
vim ~/.bash_profile
#给bin后面加:/usr/local/mysql/bin
source ~/.bash.profile
/etc/init.d/mysqld
#启动mysql- 初始化 数据库
mysqld --initialize --user=mysql ##初始化
- 在终端输入mysql -q 按回车,会提示输入密码,初次进入的密码就是初始化数据库之后,最后面现实的字符串
- 输入密码进入之后,暂时不能进行任何操作,得先更改密码
alter user root@localhost identified by '你的密码'
flush privileges