
尽管有许多自动化安装工具和包管理器(如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学习指南:精选高效学习链接,助你快速上手数据库管理
Nginx服务器上手动安装MySQL指南
MySQL同步错误1146解决指南
优选云MySQL:服务佳,口碑赞
MySQL本机访问快速指南
MySQL存储过程:初始化参数全解析
MySQL技巧:如何高效获取总数并进行相除运算
优选云MySQL:服务佳,口碑赞
忘记MySQL服务器密码?快速解决方案!
阿里MySQL服务:高效数据管理的秘诀
天津MySQL服务:专业解决方案提供商
MySQL服务启动:两种实用方法解析
任务管理器删除MySQL服务教程
MySQL服务重建:全面指南与步骤
MySQL:它是云服务器吗?一探究竟
MySQL无服务器:革新数据库管理新体验
专业服务器MySQL高效运维指南
MySQL服务器IP及端口号详解
掌握MySQL远程服务器名称操作技巧