Skip to content

MariaDB 在 Windows 上安装

MariaDB 支持在 Windows 操作系统上安装,提供了图形化安装程序和 ZIP 压缩包两种安装方式。本文将详细介绍 MariaDB 在 Windows 上的安装、配置和最佳实践。

安装前准备

系统要求

  • 操作系统:Windows Server 2016/2019/2022 或 Windows 10/11
  • CPU:至少 2 核,推荐 4 核以上
  • 内存:至少 4GB,推荐 8GB 以上
  • 磁盘空间:至少 10GB 可用空间
  • 权限:需要管理员权限进行安装

下载安装包

从 MariaDB 官方网站下载适合 Windows 系统的安装包:

  1. 访问 MariaDB 下载页面
  2. 选择版本(推荐 LTS 版本,如 10.6、10.11)
  3. 选择操作系统为 Windows
  4. 选择安装包类型:
    • MSI 安装包:图形化安装程序,适合大多数用户
    • ZIP 压缩包:命令行安装,适合高级用户和自动化部署

检查现有 MariaDB/MySQL 安装

在安装前,需要检查系统中是否已经安装了 MariaDB 或 MySQL,避免冲突:

  1. 检查服务

    • 打开「服务」管理器(services.msc)
    • 查找名称包含 "MariaDB" 或 "MySQL" 的服务
    • 如果存在,右键停止服务
  2. 卸载现有版本

    • 打开「控制面板」→「程序和功能」
    • 查找 MariaDB 或 MySQL 相关程序
    • 右键选择「卸载」
  3. 删除残留文件

    • 默认安装路径:C:\Program Files\MariaDBC:\Program Files\MySQL
    • 数据目录:C:\ProgramData\MariaDBC:\ProgramData\MySQL
    • 配置文件:C:\my.iniC:\Program Files\MariaDB\my.ini

图形化安装(MSI 安装包)

1. 运行安装程序

  1. 双击下载的 MSI 安装包(如 mariadb-10.11.6-winx64.msi
  2. 在欢迎页面,点击「Next」
  3. 接受许可协议,点击「Next」

2. 选择安装类型

MariaDB 提供了四种安装类型:

  • Typical:典型安装,包含核心组件和客户端工具
  • Custom:自定义安装,可以选择安装组件和路径
  • Complete:完整安装,包含所有组件
  • Compact:紧凑安装,仅包含核心组件

推荐选择「Custom」进行自定义安装,以便根据需要选择组件和安装路径。

3. 选择安装组件

在自定义安装页面,可以选择需要安装的组件:

  • MariaDB Server:核心服务组件(必选)
  • Client Programs:客户端工具,如 mysql.exe、mysqldump.exe 等
  • Shared Libraries:共享库文件
  • Development Files:开发文件和头文件
  • Documentation:文档

选择完成后,点击「Next」。

4. 选择安装路径

默认安装路径为 C:\Program Files\MariaDB 10.11,可以根据需要修改。建议使用默认路径或自定义到非系统盘。

点击「Next」继续。

5. 配置数据库实例

5.1 数据目录

选择数据目录,默认路径为 C:\ProgramData\MariaDB 10.11\data,建议保持默认或自定义到非系统盘。

5.2 端口配置

默认端口为 3306,可以根据需要修改。如果端口已被占用,安装程序会提示冲突。

5.3 字符集配置

选择默认字符集,推荐选择 utf8mb4 以支持更多字符和 emoji。

5.4 服务配置

  • Service Name:服务名称,默认为 MariaDB1011
  • Start the service after installation:安装后自动启动服务(推荐勾选)
  • Start as a service:作为 Windows 服务运行(推荐勾选)
  • Enable networking:启用网络连接(推荐勾选)

点击「Next」继续。

6. 安全设置

  • Root Password:设置 root 用户密码,需要输入两次确认
  • Enable access from remote machines for 'root' user:允许 root 用户远程登录(根据安全需求选择,生产环境建议不勾选)
  • Create an anonymous account:创建匿名用户(不推荐勾选)
  • Enable the test database:创建测试数据库(不推荐勾选)

点击「Next」继续。

7. 完成安装

确认配置信息后,点击「Install」开始安装。安装过程可能需要几分钟时间。

安装完成后,点击「Finish」结束安装。

命令行安装(ZIP 压缩包)

1. 下载和解压 ZIP 包

  1. 下载适合 Windows 的 ZIP 压缩包(如 mariadb-10.11.6-winx64.zip
  2. 解压到目标目录,如 D:\MariaDB
  3. 解压后目录结构:
    D:\MariaDB
    ├── bin          # 可执行文件
    ├── data         # 数据目录(初始化后生成)
    ├── include      # 头文件
    ├── lib          # 库文件
    ├── share        # 共享文件
    └── my.ini       # 配置文件(初始化后生成)

2. 配置环境变量

将 MariaDB 的 bin 目录添加到系统环境变量中,便于在命令行中直接使用 MariaDB 命令:

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」中找到 Path,点击「编辑」
  3. 点击「新建」,添加 MariaDB 的 bin 目录路径(如 D:\MariaDB\bin
  4. 点击「确定」保存设置

3. 创建配置文件

在 MariaDB 安装目录下创建 my.ini 配置文件:

ini
[mysqld]
# 基本设置
port = 3306
datadir = D:/MariaDB/data
basedir = D:/MariaDB
socket = D:/MariaDB/mysql.sock
pid-file = D:/MariaDB/mariadb.pid

# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# 内存设置
innodb_buffer_pool_size = 512M
key_buffer_size = 64M
max_allowed_packet = 64M

# 连接设置
max_connections = 100
wait_timeout = 600

# 日志设置
log_error = D:/MariaDB/logs/error.log
slow_query_log = 1
slow_query_log_file = D:/MariaDB/logs/slow.log
long_query_time = 2

# Windows 特有的设置
innodb_flush_method = normal
innodb_use_native_aio = 0
skip_name_resolve = 1

[client]
port = 3306
socket = D:/MariaDB/mysql.sock
default-character-set = utf8mb4

创建日志目录:

cmd
mkdir D:\MariaDB\logs

4. 初始化数据库

打开命令提示符(以管理员身份运行),执行以下命令初始化数据库:

cmd
cd D:\MariaDB\bin
mysqld.exe --initialize-insecure --user=mysql --basedir=D:/MariaDB --datadir=D:/MariaDB/data

参数说明:

  • --initialize-insecure:初始化数据库,创建 root 用户但不设置密码
  • --user=mysql:指定运行 MariaDB 服务的用户
  • --basedir:指定 MariaDB 安装目录
  • --datadir:指定数据目录

5. 安装服务

执行以下命令安装 MariaDB 服务:

cmd
mysqld.exe --install MariaDB --defaults-file="D:/MariaDB/my.ini"

参数说明:

  • --install MariaDB:安装服务,服务名称为 MariaDB
  • --defaults-file:指定配置文件路径

6. 启动服务

执行以下命令启动 MariaDB 服务:

cmd
net start MariaDB

7. 设置 root 密码

初始化完成后,root 用户没有密码,需要设置密码:

cmd
mysql_secure_installation

按照提示完成以下设置:

  • 设置 root 密码
  • 删除匿名用户
  • 禁止 root 远程登录
  • 删除测试数据库

安装后配置

配置文件优化

根据系统资源和业务需求,优化 MariaDB 配置文件 my.ini

1. 内存配置

根据服务器内存大小调整内存相关参数:

ini
# 总内存 8GB 时的配置
innodb_buffer_pool_size = 2G      # InnoDB 缓冲池大小,推荐为总内存的 25%-50%
key_buffer_size = 256M           # MyISAM 键缓冲大小
max_allowed_packet = 64M         # 最大允许的数据包大小
innodb_log_buffer_size = 16M     # InnoDB 日志缓冲大小

2. 连接配置

根据业务需求调整连接相关参数:

ini
max_connections = 200            # 最大连接数
wait_timeout = 600               # 连接超时时间(秒)
interactive_timeout = 600        # 交互式连接超时时间(秒)

3. 日志配置

启用和优化日志配置:

ini
# 错误日志
log_error = D:/MariaDB/logs/error.log

# 慢查询日志
slow_query_log = 1
slow_query_log_file = D:/MariaDB/logs/slow.log
long_query_time = 2              # 慢查询阈值(秒)
log_queries_not_using_indexes = 1 # 记录未使用索引的查询

# 二进制日志
expire_logs_days = 7             # 二进制日志保留天数
max_binlog_size = 100M           # 单个二进制日志文件大小

启动和停止服务

使用命令行

cmd
# 启动服务
net start MariaDB

# 停止服务
net stop MariaDB

# 重启服务
net stop MariaDB
net start MariaDB

使用服务管理器

  1. 打开「服务」管理器(services.msc)
  2. 查找 MariaDB 服务
  3. 右键选择「启动」、「停止」或「重启」

基本测试

  1. 登录 MariaDB

    cmd
    mysql -u root -p
  2. 查看 MariaDB 版本

    sql
    SELECT VERSION();
  3. 创建测试数据库

    sql
    CREATE DATABASE test_db;
  4. 创建测试表

    sql
    USE test_db;
    CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100));
  5. 插入测试数据

    sql
    INSERT INTO test_table (name) VALUES ('test');
  6. 查询测试数据

    sql
    SELECT * FROM test_table;
  7. 删除测试数据库

    sql
    DROP DATABASE test_db;
  8. 退出 MariaDB

    sql
    EXIT;

版本差异

MariaDB 10.0+

  • 引入了 Aria 存储引擎
  • 支持 Windows 服务管理
  • 增强了 InnoDB 性能

MariaDB 10.1+

  • 引入了 Virtual Columns
  • 支持动态列功能
  • 增强了 Galera Cluster 支持

MariaDB 10.2+

  • 支持 JSON 数据类型
  • 增强了 InnoDB 功能
  • 支持降序索引

MariaDB 10.3+

  • 引入了 Sequence 对象
  • 增强了安全性
  • 支持不可见索引

MariaDB 10.4+

  • 默认存储引擎改为 InnoDB
  • 增强了审计功能
  • 支持更多的加密选项

MariaDB 10.5+

  • 引入了 Roles 功能
  • 增强了性能监控
  • 支持更多的存储引擎

常见问题(FAQ)

1. 如何查看 MariaDB 版本?

方法

cmd
# 命令行查看
mysql -V

# 登录后查看
SELECT VERSION();

2. 忘记 root 密码怎么办?

解决方案

  1. 停止 MariaDB 服务:

    cmd
    net stop MariaDB
  2. 以跳过授权表的方式启动 MariaDB:

    cmd
    mysqld.exe --skip-grant-tables --skip-networking
  3. 新开一个命令提示符窗口,登录 MariaDB:

    cmd
    mysql -u root
  4. 重置 root 密码:

    sql
    USE mysql;
    UPDATE user SET password=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
    EXIT;
  5. 停止并重启 MariaDB 服务:

    cmd
    net stop MariaDB
    net start MariaDB

3. 安装时提示端口被占用怎么办?

解决方案

  1. 查看哪个程序占用了 3306 端口:

    cmd
    netstat -ano | findstr :3306
  2. 根据 PID 查找程序:

    cmd
    tasklist | findstr <PID>
  3. 关闭占用端口的程序,或修改 MariaDB 端口:

    • 图形化安装:在安装过程中修改端口
    • 命令行安装:修改 my.ini 文件中的 port 参数

4. 无法启动 MariaDB 服务怎么办?

解决方案

  • 检查配置文件语法是否正确
  • 检查数据目录权限是否正确
  • 查看错误日志,定位问题原因
  • 尝试重新初始化数据库

5. 如何允许 root 用户远程登录?

解决方案

cmd
# 登录 MariaDB
mysql -u root -p

# 允许 root 用户远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 或者只允许特定 IP 登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

6. 如何修改数据目录?

解决方案

  1. 停止 MariaDB 服务
  2. 复制现有数据目录到新位置
  3. 修改配置文件中的 datadir 参数
  4. 重启 MariaDB 服务

7. 如何卸载 MariaDB?

图形化安装的卸载方法

  1. 打开「控制面板」→「程序和功能」
  2. 找到 MariaDB 程序,右键选择「卸载」
  3. 按照提示完成卸载
  4. 删除残留文件和目录

命令行安装的卸载方法

  1. 停止 MariaDB 服务:net stop MariaDB
  2. 删除服务:sc delete MariaDBmysqld.exe --remove MariaDB
  3. 删除 MariaDB 安装目录
  4. 删除环境变量中的 MariaDB 路径

8. 如何备份和恢复 MariaDB 数据库?

备份数据库

cmd
mysqldump -u root -p --all-databases > backup.sql

恢复数据库

cmd
mysql -u root -p < backup.sql

最佳实践

1. 选择合适的安装方式

  • 对于大多数用户,推荐使用图形化安装程序,简单易用
  • 对于高级用户和自动化部署,推荐使用 ZIP 压缩包安装

2. 安装位置选择

  • 避免安装在系统盘(C 盘),防止系统盘空间不足
  • 数据目录和日志目录应放在不同的磁盘上,提高性能和安全性

3. 安全配置

  • 设置强密码:使用字母、数字和特殊字符组合
  • 删除匿名用户和测试数据库
  • 限制 root 用户登录权限,避免远程登录
  • 定期更新 MariaDB 到最新版本,应用安全补丁

4. 性能优化

  • 根据系统资源调整配置文件参数
  • 启用慢查询日志,定期分析和优化查询
  • 定期优化和修复表:OPTIMIZE TABLE table_name;

5. 备份策略

  • 定期备份数据库,包括全量备份和增量备份
  • 测试备份的可用性,确保可以成功恢复
  • 存储备份到安全的位置,包括本地和远程存储

6. 监控和维护

  • 启用错误日志和慢查询日志
  • 定期查看日志,及时发现和解决问题
  • 使用监控工具,如 MySQL Workbench、Prometheus + Grafana 等
  • 定期进行数据库健康检查

7. 自动化部署

对于批量部署场景,可以使用自动化工具:

  • 使用 PowerShell 脚本自动化安装和配置
  • 使用配置管理工具,如 Ansible、Chef、Puppet 等
  • 使用容器化部署,如 Docker

总结

MariaDB 在 Windows 上的安装有两种主要方式:图形化安装程序和 ZIP 压缩包安装。图形化安装适合大多数用户,简单易用;ZIP 压缩包安装适合高级用户和自动化部署,灵活性高。

安装后,需要进行基本的安全设置、配置文件优化和性能调优,确保 MariaDB 能够稳定、高效地运行。同时,需要定期更新、备份数据和监控系统状态,确保数据库的安全性和可靠性。

通过本文的介绍,相信您已经掌握了 MariaDB 在 Windows 上的安装和基本配置方法,能够在实际生产环境中顺利部署 MariaDB 数据库。