尽管大多数Linux发行版都提供了通过包管理器(如apt、yum等)安装MySQL的简便方法,但有时候出于特定需求或版本控制考虑,手动安装MySQL压缩包成为首选方案
本文将详细介绍如何在Linux系统上手动安装MySQL压缩包,确保每一步都清晰明了,让你轻松掌握这一技能
一、准备工作 在开始安装之前,请确保你的系统满足以下基本条件: 1.操作系统:本文适用于大多数主流Linux发行版,如CentOS、Ubuntu、Debian等
2.用户权限:你需要具备root用户权限或使用sudo命令来提升权限
3.依赖工具:确保系统中已安装必要的编译工具和库文件,如gcc、make、cmake、libncurses5-dev(Debian/Ubuntu)或ncurses-devel(CentOS/RHEL)
4.下载MySQL压缩包:从【MySQL官方网站】(https://dev.mysql.com/downloads/mysql/)下载适合你系统架构的MySQL源码压缩包,通常包括`.tar.gz`或`.zip`格式
二、安装步骤 1. 更新系统并安装依赖 首先,更新你的系统软件包列表并安装必要的依赖项
这一步对于避免后续编译错误至关重要
对于Debian/Ubuntu系统: bash sudo apt update sudo apt install -y build-essential cmake libncurses5-dev libssl-dev 对于CentOS/RHEL系统: bash sudo yum groupinstall -y Development Tools sudo yum install -y cmake ncurses-devel openssl-devel 2. 创建MySQL用户和组 出于安全考虑,建议为MySQL服务创建一个专门的用户和组
bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 3. 下载并解压MySQL压缩包 前往MySQL官方网站下载所需版本的压缩包,然后将其解压到指定目录
bash 假设下载的文件名为mysql-x.y.z.tar.gz cd /usr/local sudo wget https://dev.mysql.com/get/Downloads/MySQL-x.y.z/mysql-x.y.z-linux-glibc2.12-x86_64.tar.gz sudo tar -zxvf mysql-x.y.z-linux-glibc2.12-x86_64.tar.gz 重命名解压后的目录为mysql,便于管理 sudo mv mysql-x.y.z-linux-glibc2.12-x86_64 mysql 4. 配置MySQL 进入MySQL源码目录,执行配置脚本
此步骤将检查系统环境并生成适合当前系统的Makefile
bash cd /usr/local/mysql sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci 上述命令中的选项根据实际需求调整,例如数据目录、配置文件目录、端口号等
5.编译和安装 完成配置后,开始编译MySQL源码并安装
这个过程可能需要一些时间,具体取决于你的系统性能
bash sudo make sudo make install 6. 设置目录权限 确保MySQL数据目录和运行目录具有正确的权限
bash sudo chown -R mysql:mysql /usr/local/mysql sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld 7.初始化数据库 使用`mysqld --initialize`命令初始化数据库
注意,不同版本的MySQL初始化命令可能有所不同
bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 此命令将在数据目录中创建系统表和其他必要的文件
8. 配置MySQL服务 将MySQL添加到系统服务中,以便可以方便地启动和停止服务
创建systemd服务文件(以CentOS/RHEL为例,Debian/Ubuntu类似,但使用systemd-sysv转换工具或直接编辑init.d脚本): bash sudo nano /etc/systemd/system/mysqld.service 在文件中添加以下内容: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf PIDFile=/var/run/mysqld/mysqld.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 保存并退出编辑器,然后重新加载systemd配置并启动MySQL服务: bash sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld 9. 安全配置 MySQL安装完成后,建议运行`mysql_secure_installation`脚本来设置root密码、移除匿名用户、禁止远程root登录以及删除测试数据库
bash sudo /usr/local/mysql/bin/mysql_secure_installation 按照提示操作,设置root密码并回答相关问题
10. 环境变量配置 为了方便使用MySQL命令行工具,可以将MySQL的bin目录添加到系统的PATH环境变量中
bash echo export PATH=/usr/lo