一、安装前准备:环境与工具确认(2分钟)
1.1 系统兼容性检查
MySQL 8.0+版本支持Windows 10/11、Linux(Ubuntu 20.04+/CentOS 7+)、macOS 12+等主流系统。通过命令uname -a(Linux/macOS)或systeminfo | find "OS"(Windows)确认系统版本,确保与MySQL版本匹配。例如,CentOS 7需使用MySQL 5.7或8.0的EL7版本安装包。
1.2 依赖项安装
- Linux系统:执行
sudo apt update && sudo apt install libaio1(Ubuntu)或sudo yum install libaio(CentOS)安装基础依赖库。 - Windows系统:无需额外依赖,但需关闭防火墙或开放3306端口(
netsh advfirewall firewall add rule name="MySQL" dir=in action=allow protocol=TCP localport=3306)。
1.3 下载安装包
访问MySQL官方下载页面(https://dev.mysql.com/downloads/mysql/),选择对应系统的安装包:
- Windows:下载
.msi或.zip格式(推荐.msi简化安装流程)。 - Linux:选择
.tar.gz(二进制包)或.rpm/.deb(包管理器安装)。 - macOS:下载
.dmg包或使用Homebrew安装(brew install mysql)。
二、Windows系统安装流程(4分钟)
2.1 使用MSI安装包(推荐)
- 双击启动安装程序:选择“Developer Default”配置类型,自动安装服务器和客户端工具。
- 配置根密码:在“Auth Method”步骤选择“Use Strong Password Encryption”,设置
root@localhost的密码(如MyPass123!)。 - 完成安装:勾选“Start MySQL Server after setup”自动启动服务。
2.2 使用ZIP包手动安装
- 解压文件:将下载的
mysql-8.0.xx-winx64.zip解压至C:\mysql。 - 创建配置文件:在
C:\mysql下新建my.ini,添加以下内容:[mysqld]basedir=C:/mysqldatadir=C:/mysql/dataport=3306
- 初始化数据目录:以管理员身份运行CMD,执行:
cd C:\mysql\binmysqld --initialize --console
记录生成的临时密码(如
A temporary password is generated for root@localhost: abc123XYZ)。 - 安装服务并启动:
mysqld --install MySQLnet start MySQL
三、Linux系统安装流程(4分钟)
3.1 Ubuntu/Debian系统(APT安装)
- 添加MySQL APT仓库:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.debsudo dpkg -i mysql-apt-config_0.8.28-1_all.debsudo apt update
- 安装MySQL服务器:
sudo apt install mysql-server
- 运行安全脚本:
sudo mysql_secure_installation
按提示设置root密码、移除匿名用户、禁止远程root登录等。
3.2 CentOS/RHEL系统(RPM安装)
- 下载并安装MySQL YUM仓库:
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpmsudo rpm -ivh mysql80-community-release-el7-6.noarch.rpmsudo yum install mysql-community-server
- 启动服务:
sudo systemctl start mysqldsudo systemctl enable mysqld
- 获取临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
四、安装后验证与基础配置(2分钟)
4.1 登录MySQL
- Windows/Linux:执行
mysql -u root -p,输入安装时设置的密码。 - 首次登录后修改密码(MySQL 8.0+):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
4.2 创建测试数据库
CREATE DATABASE test_db;USE test_db;CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50));INSERT INTO users (name) VALUES ('Alice'), ('Bob');SELECT * FROM users;
4.3 开放远程访问(可选)
- 修改绑定地址:在
my.cnf(Linux)或my.ini(Windows)中添加:[mysqld]bind-address = 0.0.0.0
- 创建远程用户:
CREATE USER 'remote'@'%' IDENTIFIED BY 'RemotePass123!';GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';FLUSH PRIVILEGES;
- 防火墙放行3306端口:
- Linux:
sudo ufw allow 3306(Ubuntu)或sudo firewall-cmd --add-port=3306/tcp --permanent(CentOS)。 - Windows:通过“高级安全Windows Defender防火墙”添加入站规则。
- Linux:
五、常见问题解决
5.1 端口冲突
若3306端口被占用,修改my.cnf中的port参数(如3307),重启服务后使用mysql -u root -p -P 3307登录。
5.2 密码重置
停止MySQL服务后,以安全模式启动:
sudo mysqld_safe --skip-grant-tables &
无密码登录后执行:
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
5.3 服务启动失败
检查错误日志(/var/log/mysqld.log或C:\mysql\data\hostname.err),常见原因包括数据目录权限不足(sudo chown -R mysql:mysql /var/lib/mysql)或配置文件错误。
六、总结与扩展建议
通过本文,您已掌握MySQL在主流系统的快速安装方法,包括依赖准备、包管理、服务配置及基础验证。建议进一步学习:
- 备份与恢复:使用
mysqldump定期备份数据库。 - 性能优化:调整
innodb_buffer_pool_size等参数。 - 高可用方案:部署主从复制或Galera集群。
实际开发中,可根据项目需求选择合适的版本(如5.7兼容性更好,8.0支持JSON字段和窗口函数),并通过容器化(Docker)简化环境管理。