Nginx服务器上手动安装MySQL指南
nginx 手动安装mysql

首页 2025-07-10 20:40:24



Nginx 手动安装 MySQL:打造高效稳定的Web环境 在构建高性能的Web服务器环境中,Nginx和MySQL的组合无疑是许多开发者和运维人员的首选

    尽管有许多自动化安装工具和包管理器(如APT、YUM)可以帮助我们快速安装这些软件,但在某些特定需求或复杂环境下,手动安装MySQL可以让我们更好地掌握安装过程,确保系统的高度定制化与稳定性

    本文将详细介绍如何在已安装Nginx的服务器上手动安装MySQL,以打造一个高效且稳定的Web环境

     一、准备工作 在开始安装之前,我们需要做一些准备工作,确保系统环境和依赖项已经就绪

     1.系统环境 - 操作系统:Ubuntu Server20.04 或 CentOS7/8 - 已安装Nginx -足够的磁盘空间和内存 2.更新系统 对于Ubuntu: bash sudo apt update sudo apt upgrade -y 对于CentOS: bash sudo yum update -y 3.安装必要的依赖 对于Ubuntu: bash sudo apt install -y wget libaio1 libncurses5-dev 对于CentOS: bash sudo yum install -y wget libaio numactl-libs ncurses-devel 二、下载MySQL安装包 手动安装MySQL的第一步是下载官方提供的安装包

    访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/),选择适合的操作系统版本和安装包类型(通常是二进制压缩包)

     1.下载MySQL安装包 - Ubuntu/Debian用户可以选择`.deb` 包,但手动安装通常使用`.tar.gz`压缩包

     - CentOS/RHEL用户可以选择`.rpm` 包,但同样推荐使用`.tar.gz` 包以获得更多灵活性

     以下示例假设下载的是`.tar.gz` 包: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 2.解压安装包 bash tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz sudo mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql 三、创建MySQL用户和组 为了安全起见,MySQL不应以root用户运行

    我们需要创建一个专门的用户和组

     1.创建用户和组 bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 2.设置目录权限 bash cd /usr/local/mysql sudo chown -R mysql:mysql 四、初始化MySQL数据库 在MySQL5.7及更高版本中,初始化数据库的过程稍有不同

    以下是MySQL8.0的初始化步骤

     1.初始化数据库 bash sudo bin/mysqld --initialize --user=mysql 该命令会在日志中输出一个临时root密码,记下它,稍后会用到

     2.创建数据目录符号链接(可选) 虽然MySQL默认会在安装目录下创建数据目录,但我们可以创建一个符号链接,将数据目录移动到其他位置(例如单独的磁盘分区)

     bash sudo mkdir -p /data/mysql sudo chown -R mysql:mysql /data/mysql sudo ln -s /data/mysql /usr/local/mysql/data 如果之前已经初始化了数据库,需要重新初始化以使用新的数据目录

     五、配置MySQL 在手动安装MySQL时,配置文件需要手动设置

    MySQL的主要配置文件是`my.cnf`

     1.创建配置文件 在`/etc/my.cnf` 或`/etc/mysql/my.cnf` 中添加以下内容: ini 【mysqld】 basedir=/usr/local/mysql datadir=/data/mysql socket=/var/run/mysqld/mysqld.sock user=mysql port=3306 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci 【client】 socket=/var/run/mysqld/mysqld.sock 【mysql】 default-character-set=utf8mb4 2.创建socket目录并设置权限 bash sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld 六、设置MySQL服务 为了方便管理MySQL服务,我们可以创建一个systemd服务文件

     1.创建systemd服务文件 在`/etc/systemd/system/mysql.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 LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 2.重新加载systemd并启动MySQL服务 bash sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql 七、安全配置MySQL 安装完成后,我们需要进行一些安全配置,包括修改root密码、删除测试数据库等

     1.运行MySQL安全脚本 在MySQL5.7及更高版本中,可以使用`mysql_secure_installation`脚本

     bash sudo /usr/local/mysql/bin/mysql_secure_installation 根据提示设置新root密码,删除匿名用户,禁止root远程登录,删除测试数据库,并重新加载权限表

     2.测试MySQL连接 bash /usr/local/mysql/bin/mysql -u root -p 输入刚才设置的root密码,如果成功登录,说明MySQL安装和配置成功

     八、集成Nginx与MySQL 在Web应用中,Nginx通常作为反向代理和静态文件服务器,而MySQL作为数据库服务器

    为了将Nginx与MySQL集成,我们需要在Web应用中配置数据库连接信息

     1.配置Web应用 在PHP、Python、Node.js等语

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道