
尽管大多数Linux发行版提供了通过包管理器(如apt、yum等)安装MySQL的便捷方式,但有时候,出于特定需求(如版本控制、自定义配置或特定补丁应用),直接从官方获取MySQL压缩包进行手动安装成为了一个更为灵活和强大的选择
本文将详细介绍如何在Linux系统中通过压缩包安装MySQL,确保每一步都清晰明了,让您能够高效、灵活地部署并深度掌控MySQL数据库
一、准备工作 1.系统环境检查 -操作系统:本文示例基于CentOS 7,但步骤适用于大多数基于RPM的Linux发行版
Debian系(如Ubuntu)用户需做适当调整
-用户权限:确保您有root权限或使用sudo执行关键命令
-依赖检查:MySQL运行依赖于一些基础库,如libaio
使用以下命令安装: bash sudo yum install libaio -y 2.下载MySQL压缩包 访问【MySQL官方网站】(https://dev.mysql.com/downloads/mysql/),根据您的系统架构(如x86_64)选择合适的Linux版本下载
推荐下载包含Boost库的二进制压缩包(.tar.gz),因为它包含了所有必需的库,简化了安装过程
下载完成后,使用`md5sum`或`sha256sum`命令校验文件完整性,确保下载的文件未被篡改
bash md5sum mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz 3.创建安装目录 为MySQL创建一个专门的安装目录,通常位于`/usr/local/`下: bash sudo mkdir -p /usr/local/mysql 二、解压与安装 1.解压MySQL压缩包 将下载的MySQL压缩包解压到之前创建的目录中
假设下载的文件名为`mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz`: bash sudo tar -Jxvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql --strip-components=1 这里`--strip-components=1`参数用于移除解压后的顶级目录,使得MySQL文件直接位于`/usr/local/mysql`下
2.创建MySQL用户和组 出于安全考虑,创建一个专门的用户和组来运行MySQL服务: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql -`-r`:创建系统账户
-`-g mysql`:指定用户所属组为mysql
-`-s /bin/false`:禁止该用户登录系统
3.设置目录权限 更改MySQL安装目录及其子目录的所有者为mysql用户和组: bash sudo chown -R mysql:mysql /usr/local/mysql 同时,确保MySQL数据目录(默认为`/usr/local/mysql/data`)具有正确的权限,以便MySQL服务能够写入: bash sudo mkdir -p /usr/local/mysql/data sudo chown -R mysql:mysql /usr/local/mysql/data 三、初始化数据库 1.初始化MySQL系统表 使用`mysqld --initialize`命令初始化数据库
此步骤会创建系统表、用户权限表等关键数据
注意,根据您的MySQL版本,可能需要指定`--basedir`和`--datadir`参数: bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化成功后,终端会显示一个临时root密码,请记下它,稍后在首次登录时会用到
2.配置MySQL服务 为了管理方便,可以创建一个systemd服务文件来启动和管理MySQL服务
创建`/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/my.cnf PIDFile=/usr/local/mysql/data/mysqld.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 请确保`/etc/my.cnf`配置文件存在并正确配置,该文件通常包含MySQL的基本配置信息,如数据目录、端口号等
您可以复制`/usr/local/mysql/support-files/my-default.cnf`作为起点进行修改
3.启动MySQL服务 重新加载systemd配置,并启动MySQL服务: bash sudo systemctl daemon-reload sudo systemctl start mysqld 设置MySQL服务开机自启: bash sudo systemctl enable mysqld 四、安全配置与初始化登录 1.首次登录并更改root密码 使用之前记录的临时root密码登录MySQL: bash sudo /usr/local/mysql/bin/mysql -u root -p 登录后,立即更改root密码: sql ALTER USER root@localhost IDENTIFIED BY NewStrongPassword!; 2.运行安全脚本 MySQL提供了一个安全脚本来增强数据库的安全性
运行以下命令执行安全配置: bash sudo /usr/local/mysql/bin/mysql_secure_installation 该脚本会提示您进行一系列安全设置,如删除匿名用户、禁止远程root登录、删除测试数据库等
3.配置防火墙 如果需要在远程访问MySQL,确保防火墙允许MySQL默认端口(3306)的流量
以firewalld为例: bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload 五、日常管理与维护 1.备份与恢复 定期备份数据库是保障数据安全的关键
使用`mysqldump`工具进行逻辑备份: bash /usr/local/mysql/bin/mysqldump -u root -p --all
MySQL事务语句编写指南
Linux下MySQL压缩包安装指南
MySQL用户授权指南:轻松管理权限
MySQL5.7数据库优化实战:性能提升与高效管理技巧
MySQL Cluster索引优化指南
轻松备份MySQL数据全攻略
MySQL数据高效缓存至Redis策略
MySQL事务语句编写指南
MySQL用户授权指南:轻松管理权限
MySQL5.7数据库优化实战:性能提升与高效管理技巧
MySQL Cluster索引优化指南
轻松备份MySQL数据全攻略
MySQL数据高效缓存至Redis策略
MySQL事务中高效利用临时表技巧
MySQL表区分技巧大揭秘
如何高效优化MySQL连接数,提升数据库性能
MySQL数据行转列Pivot技巧揭秘
MySQL删除指定记录的快捷方法
MySQL Dump数据恢复全攻略