在服务器环境中安装MySQL是搭建Web应用、数据存储服务的关键步骤,MySQL作为开源关系型数据库管理系统,以其稳定性、高性能和丰富的功能被广泛采用,本文将详细介绍在Linux(CentOS/Ubuntu)和Windows Server两种主流服务器操作系统上安装MySQL的全过程,包括安装前准备、具体操作步骤、基础配置及安全初始化,确保用户能够顺利完成部署并保障数据库安全。
安装前准备
在开始安装MySQL前,需确保服务器满足基本要求并完成必要的准备工作,以避免安装过程中出现兼容性或权限问题。
系统要求
- 操作系统:Linux(推荐CentOS 7+、Ubuntu 18.04+)或Windows Server 2016+;
- 硬件配置:至少2GB内存(推荐4GB以上),1GB可用磁盘空间(数据存储需额外预留);
- 网络环境:确保服务器可访问外网(用于下载安装包),若内网环境需提前下载离线安装包;
- 权限要求:Linux需root或sudo权限,Windows需管理员权限。
环境检查
- Linux:通过
uname -a
查看系统版本,free -h
检查内存,df -h
检查磁盘空间; - Windows:通过“系统信息”查看操作系统版本,“任务管理器”检查硬件资源。
卸载旧版本(若存在)
避免版本冲突,需先卸载已安装的MySQL:
- Linux:
sudo yum remove mysql-community*
(CentOS)或sudo apt purge mysql-server* mysql-client*
(Ubuntu); - Windows:通过“控制面板”->“程序和功能”完全卸载MySQL及相关组件。
具体安装步骤
根据操作系统不同,安装方式分为Linux(包管理器安装)和Windows(图形化安装)两类,以下是详细操作流程。
Linux系统安装(以CentOS 7和Ubuntu 20.04为例)
CentOS 7(使用Yum仓库)
(1)添加MySQL官方Yum仓库
sudo yum localinstall https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm -y
(2)验证仓库是否添加成功
sudo yum repolist enabled "mysql*-community*"
(3)安装MySQL服务器
sudo yum install mysql-community-server -y
(4)启动MySQL服务并设置开机自启
sudo systemctl start mysqld sudo systemctl enable mysqld
Ubuntu 20.04(使用APT仓库)
(1)添加MySQL官方APT仓库
sudo apt update sudo apt install mysql-server -y
(2)启动MySQL服务并设置开机自启
sudo systemctl start mysql sudo systemctl enable mysql
Windows Server安装(以MySQL 8.0为例)
(1)下载安装包
访问MySQL官网(https://dev.mysql.com/downloads/installer/),下载“MySQL for Windows (x86, 64-bit), ZIP Archive”离线安装包(约500MB)。
(2)安装步骤
- 解压下载的ZIP包至指定目录(如
C:mysql-8.0.33
); - 以管理员身份打开“命令提示符”,进入解压目录的
bin
文件夹; - 扝始化数据目录:
mysqld --initialize --console
(记录生成的临时root密码,位于日志末尾); - 安装MySQL服务:
mysqld --install MySQL80
(服务名可自定义); - 启动服务:
net start MySQL80
。
基础配置与安全初始化
安装完成后,需对MySQL进行基础配置和安全加固,确保数据库稳定运行并防范安全风险。
修改root密码
首次安装后,MySQL会生成临时root密码,需立即修改:
mysql -u root -p # 输入临时密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 设置强密码(包含大小写字母、数字、特殊字符) FLUSH PRIVILEGES;
配置文件优化
MySQL主配置文件为/etc/my.cnf
(Linux)或C:ProgramDataMySQLMySQL Server 8.0my.ini
(Windows),可根据需求调整核心参数:
配置项 | 默认值 | 建议值 | 说明 |
---|---|---|---|
innodb_buffer_pool_size | 128MB | 内存的50%-70% | InnoDB缓冲池,提升查询性能 |
max_connections | 151 | 100-1000 | 最大并发连接数,根据业务调整 |
character_set_server | latin1 | utf8mb4 | 字符集,支持中文和特殊符号 |
bind-address | 0.0.1 | 服务器IP | 监听地址,远程访问需设置为0.0.0.0 |
安全初始化脚本
MySQL提供mysql_secure_installation
脚本,自动完成安全配置(Linux适用):
sudo mysql_secure_installation
按提示操作:设置root密码、移除匿名用户、禁止root远程登录、移除测试数据库、刷新权限,全面加固安全策略。
验证安装
完成安装和配置后,需验证MySQL是否正常运行:
- Linux:
systemctl status mysqld
(检查服务状态);mysql -u root -p
(登录测试); - Windows:
net start MySQL80
(确认服务启动);通过MySQL Workbench或命令行登录测试。
相关问答FAQs
Q1:忘记MySQL root密码怎么办?
A1:可通过以下步骤重置密码(以Linux为例):
- 停止MySQL服务:
sudo systemctl stop mysqld
; - 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables &
; - 无密码登录MySQL:
mysql -u root
; - 更新root密码:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
; - 重启MySQL服务:
sudo systemctl restart mysqld
。
Q2:如何允许远程连接MySQL服务器?
A2:需修改配置并授权用户:
- 编辑配置文件
my.cnf
,将bind-address
改为0.0.0
(允许所有IP连接)或指定服务器IP; - 登录MySQL,创建远程用户并授权:
CREATE USER 'remote_user'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 服务器防火墙开放3306端口(Linux:
sudo firewall-cmd --permanent --add-port=3306/tcp
;Windows:高级防火墙入站规则)。
通过以上步骤,即可完成MySQL在服务器上的安装、配置与安全初始化,为后续应用开发提供稳定的数据存储支持。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30687.html