源码安装MySQL

发布时间 2023-11-16 18:17:42作者: 月下瓜田の一只猹
  • 本文使用的Linux发行版本为Anolis OS 8.8 64位。
  • 最后更新时间2023年11月16日
  • 本文安装的MySQL版本为8.1.0,其他版本方法类似。

准备工作

  1. 更新系统。
    yum -y update
    
  2. 安装依赖。
    yum install -y gcc gcc-c++ cmake cmake3 ncurses ncurses-devel bison openssl openssl-devel gdb gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc libtirpc-deve rpcgen
    

源码安装MySQL

  1. 创建MySQL系统用户,用于运行服务。
    groupadd mysql
    useradd -r -g mysql mysql
    
  2. 创建安装目录。
    mkdir -p /usr/local/mysql/data
    
  3. 修改环境变量配置。
    a. 编辑.bash_profile文件。
    vim .bash_profile
    
    b. 在# User specific environment and startup programs后添加如下内容。
    export MySQL_HOME=/usr/local/mysql
    export PATH=$MySQL_HOME/bin:$PATH
    export MySQL_DATA=$MySQL_HOME/data
    
    c. 输入:wq!保存并退出。
    d. 使环境变量生效。
    source .bash_profile
    
  4. 获取源码链接
    a. 进入MySQL官网下载页面
    b. 选择Product Version(MySQL版本)、Operating System(固定为Source Code)、OS Version(固定为All Operating Systems)。在带Boost的tar.gz包后的Download上右键复制链接。
    image
  5. 下载。
    cd ~
    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.1.0.tar.gz
    
  6. 解压。
    tar -zxvf mysql-boost-8.1.0.tar.gz
    
  7. 进入解压路径,编译安装。

    如果cmake报错,则执行rm CMakeCache.txt后再进行重试。

    cd mysql-8.1.0/
    
    cmake3 ./ \
    -DCMAKE_INSTALL_PREFIX=$MySQL_HOME \
    -DMYSQL_DATADIR=$MySQL_DATA \
    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
    -DDEFAULT_CHARSET=utf8mb4 \
    -DDEFAULT_COLLATION=utf8mb4_general_ci \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_SSL=system \
    -DWITH_BOOST=./boost \
    -DWITH_DEBUG=1 \
    -DFORCE_INSOURCE_BUILD=1
    
    make
    make install
    
  8. 设置权限。
    chown -R mysql:mysql $MySQL_HOME
    
  9. 初始化MySQL。
    mysqld --user=mysql --basedir=$MySQL_HOME --datadir=$MySQL_DATA --initialize
    

    初始化时报文会显示默认密码,需要保存。