手动编译安装MySQL

手动编译安装MySQL

准备环境

首先,确保您的系统安装了编译MySQL所需的依赖项,如GCC、make等,以及MySQL编译过程中可能需要的库文件。

对于Debian/Ubuntu系统,您可以使用以下命令安装这些依赖:

bash 复制代码
sudo apt-get update
sudo apt-get install build-essential cmake libncurses5-dev libssl-dev

对于RedHat/CentOS系统,使用:

bash 复制代码
sudo yum groupinstall "Development Tools"
sudo yum install cmake ncurses-devel openssl-devel

下载MySQL源代码

从MySQL官方网站或GitHub仓库下载您希望安装的MySQL版本的源代码。以MySQL 8.0为例,您可以访问MySQL官方网站下载页面或使用wget命令下载:

bash 复制代码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29.tar.gz

解压源代码包

bash 复制代码
tar -zxvf mysql-8.0.29.tar.gz
cd mysql-8.0.29

编译和安装

  1. 创建一个目录用于MySQL的编译输出:
bash 复制代码
mkdir build
cd build
  1. 运行cmake来配置MySQL编译选项:
bash 复制代码
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

这条命令指定了一些常用的编译选项,如安装路径、字符集、启用的存储引擎等。您可以根据需要调整这些选项。

  1. 编译MySQL:
bash 复制代码
make
  1. 安装MySQL:
bash 复制代码
sudo make install

配置MySQL

  1. 添加MySQL用户:
bash 复制代码
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
  1. 将安装目录的所有者改为MySQL用户:
bash 复制代码
sudo chown -R mysql:mysql /usr/local/mysql
  1. 初始化数据库:
bash 复制代码
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql
  1. 复制配置文件和启动脚本:
bash 复制代码
sudo cp support-files/my-default.cnf /etc/my.cnf
sudo cp support-files/mysql.server /etc/init.d/mysql
  1. 启动MySQL服务器:
bash 复制代码
sudo service mysql start
  1. 设置环境变量(可选):

将MySQL目录添加到您的PATH环境变量中,以方便运行MySQL命令:

bash 复制代码
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

完成

至此,您已经完成了MySQL的手动编译安装过程。接下来,您可以使用mysql_secure_installation脚本来进一步配置MySQL的安全选项,包括设置root密码、删除匿名用户等。

相关推荐
卫生纸不够用1 小时前
(三)Linux性能优化-CPU-CPU 使用率
linux·运维·服务器
Clownseven2 小时前
Ubuntu 24.04 LTS 长期支持版发布:对服务器用户意味着什么?新特性、升级建议与性能影响初探
linux·服务器·ubuntu
Xam_d_LM2 小时前
【Linux】服务器反向代理自动续签免费 Let‘s Encrypt 证书报错解决方法
linux·运维·服务器·反向代理·lets encrypt·http-01·证书续签
有时有晌2 小时前
linux arm系统烧录
linux·运维·arm开发
小呆瓜历险记3 小时前
Debian系统简介
linux·服务器·debian
无脑学c++5 小时前
Ubuntu下挂载NTFS格式磁盘
linux·运维·ubuntu
蟑螂恶霸5 小时前
github.com 链接127.0.0.1
linux·运维·ubuntu
Felix Du7 小时前
操作系统 | Linux:第一章 初识Linux
linux·运维·服务器
想睡hhh8 小时前
Linux基础开发工具——vim工具
linux·vim·指令
阿加犀智能8 小时前
快速在高通芯片手机&平板本地部署大模型DeepSeek
android·linux·deepseek