手动编译安装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密码、删除匿名用户等。

相关推荐
JunLan~3 小时前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
方竞4 小时前
Linux空口抓包方法
linux·空口抓包
海岛日记5 小时前
centos一键卸载docker脚本
linux·docker·centos
AttackingLin6 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
学Linux的语莫7 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
踏雪Vernon7 小时前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
学Linux的语莫8 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz8 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py8 小时前
【Linux】-学习笔记04
linux·笔记·学习