鲁迅:有一分热,发一分光。


Linux 版本为 : Centos-8.3-minimal

虚拟机配置是:4G内存 4核 40G储存

注意事项:

我的系统是CentOS-8 所以yum出来的 gcc 和 cmake 版本都是符合编译安装mysql-8.0.23的  如果你的不是CentOS-8的话 需要自行检查版本,自行升级解决

  • 第一步下载Mysql 
  • MySQL       Mysql官网地址 
  • MySQL :: Download MySQL Community Server       MySQL选择下载版本界面
  • https://downloads.mysql/archives/get/p/23/file/mysql-8.0.23.tar.gz          点击此链接可以直接下载 MySQL 8.0.23

  • 点击MySQL Community Server

  • 点击Archives(档案记录)   

  • 选择源码下载

  • ​​​​​​拉到最下面,选择好版本,然后点击Download 即可下载

  • 同时还需要下载Boost库   MySQL从5.7版本之后编译安装都需要boost库  MySQL-8.0.23对应的是boost-1_73_0 版本 
  • Boost C++ Libraries         Boost官网
  • https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz           此链接可以直接下载 Boost 1.73.0   下面是图文演示下载

  • 下载工具以及依赖
yum -y install wget tar make  cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel  libtirpc-devel  bison
  • 为防止预编译配置时报以下错误

  • 解决方案   GitHub搜索 rpcsvc-proto
  • https://github/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz          此链接可以直接下载rpcsvc-proto-1.4.2

  • 两种下载方式:1.可以选择windows下载好用ftp工具传输到linux上  2.或者使用wget工具直接在linux上面下载  
  • 解压 先编译安装 rpcsvc-proto

cd rpcsvc-proto-1.4.2
./configure
make && make install
  • 然后进入mysql-8.0.23  创建预编译目录
cd mysql-8.0.23
mkdir bld && cd bld
  • 配置编译
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes  -DENABLED_LOCAL_INFILE=1  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock   -DWITH_BOOST=/usr/local/src/boost_1_73_0/
  • 需要注意的是 -DWITH_BOOST=/usr/local/src/boost_1_73_0  路径是解压后的boost的路径
  • 官网有说明

  • 回车执行

  • 编译成功显示如下

  • 安装 (过程根据计算机而定 等待时间比较漫长)  -j4 根据自己cpu核心数进行分配
make -j4 && make install
  • 安装成功显示如下

  • 我使用的是虚拟机安装 虚拟机配置是4g内存 4核  配置低的编译不一定能编译过 总是卡住 建议不要使用1g1核的

  • 避免下面初始化数据库报错 请先创建用户以及用户组并设置访问权限  (初学者建议菜鸟教程看用法)

groupadd mysql
useradd mysql -g mysql -M -s /bin/false
chown -R  mysql.mysql  /usr/local/mysql/
  • 初始化MySQL 获得初始化密码
cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
初始化数据库会有一个随机密码

./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
初始化数据库没有密码

  • 启动MySQL   启动文件在 support-files 下的 mysql.server

  • 进入mysql 

  • 如果你初始化数据库使用的是无密码,参考下方官方文档给出方案

  • 至此MySQL-8.0.23安装成功了

更多推荐

Linux CentOS-8 源码编译安装MySQL-8.0.23 图文教程