外观
MariaDB 在 Windows 上安装
MariaDB 支持在 Windows 操作系统上安装,提供了图形化安装程序和 ZIP 压缩包两种安装方式。本文将详细介绍 MariaDB 在 Windows 上的安装、配置和最佳实践。
安装前准备
系统要求
- 操作系统:Windows Server 2016/2019/2022 或 Windows 10/11
- CPU:至少 2 核,推荐 4 核以上
- 内存:至少 4GB,推荐 8GB 以上
- 磁盘空间:至少 10GB 可用空间
- 权限:需要管理员权限进行安装
下载安装包
从 MariaDB 官方网站下载适合 Windows 系统的安装包:
- 访问 MariaDB 下载页面
- 选择版本(推荐 LTS 版本,如 10.6、10.11)
- 选择操作系统为 Windows
- 选择安装包类型:
- MSI 安装包:图形化安装程序,适合大多数用户
- ZIP 压缩包:命令行安装,适合高级用户和自动化部署
检查现有 MariaDB/MySQL 安装
在安装前,需要检查系统中是否已经安装了 MariaDB 或 MySQL,避免冲突:
检查服务:
- 打开「服务」管理器(services.msc)
- 查找名称包含 "MariaDB" 或 "MySQL" 的服务
- 如果存在,右键停止服务
卸载现有版本:
- 打开「控制面板」→「程序和功能」
- 查找 MariaDB 或 MySQL 相关程序
- 右键选择「卸载」
删除残留文件:
- 默认安装路径:
C:\Program Files\MariaDB或C:\Program Files\MySQL - 数据目录:
C:\ProgramData\MariaDB或C:\ProgramData\MySQL - 配置文件:
C:\my.ini或C:\Program Files\MariaDB\my.ini
- 默认安装路径:
图形化安装(MSI 安装包)
1. 运行安装程序
- 双击下载的 MSI 安装包(如
mariadb-10.11.6-winx64.msi) - 在欢迎页面,点击「Next」
- 接受许可协议,点击「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 包
- 下载适合 Windows 的 ZIP 压缩包(如
mariadb-10.11.6-winx64.zip) - 解压到目标目录,如
D:\MariaDB - 解压后目录结构:
D:\MariaDB ├── bin # 可执行文件 ├── data # 数据目录(初始化后生成) ├── include # 头文件 ├── lib # 库文件 ├── share # 共享文件 └── my.ini # 配置文件(初始化后生成)
2. 配置环境变量
将 MariaDB 的 bin 目录添加到系统环境变量中,便于在命令行中直接使用 MariaDB 命令:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」中找到
Path,点击「编辑」 - 点击「新建」,添加 MariaDB 的 bin 目录路径(如
D:\MariaDB\bin) - 点击「确定」保存设置
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\logs4. 初始化数据库
打开命令提示符(以管理员身份运行),执行以下命令初始化数据库:
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 MariaDB7. 设置 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使用服务管理器
- 打开「服务」管理器(services.msc)
- 查找 MariaDB 服务
- 右键选择「启动」、「停止」或「重启」
基本测试
登录 MariaDB:
cmdmysql -u root -p查看 MariaDB 版本:
sqlSELECT VERSION();创建测试数据库:
sqlCREATE DATABASE test_db;创建测试表:
sqlUSE test_db; CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100));插入测试数据:
sqlINSERT INTO test_table (name) VALUES ('test');查询测试数据:
sqlSELECT * FROM test_table;删除测试数据库:
sqlDROP DATABASE test_db;退出 MariaDB:
sqlEXIT;
版本差异
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 密码怎么办?
解决方案:
停止 MariaDB 服务:
cmdnet stop MariaDB以跳过授权表的方式启动 MariaDB:
cmdmysqld.exe --skip-grant-tables --skip-networking新开一个命令提示符窗口,登录 MariaDB:
cmdmysql -u root重置 root 密码:
sqlUSE mysql; UPDATE user SET password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; EXIT;停止并重启 MariaDB 服务:
cmdnet stop MariaDB net start MariaDB
3. 安装时提示端口被占用怎么办?
解决方案:
查看哪个程序占用了 3306 端口:
cmdnetstat -ano | findstr :3306根据 PID 查找程序:
cmdtasklist | findstr <PID>关闭占用端口的程序,或修改 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. 如何修改数据目录?
解决方案:
- 停止 MariaDB 服务
- 复制现有数据目录到新位置
- 修改配置文件中的 datadir 参数
- 重启 MariaDB 服务
7. 如何卸载 MariaDB?
图形化安装的卸载方法:
- 打开「控制面板」→「程序和功能」
- 找到 MariaDB 程序,右键选择「卸载」
- 按照提示完成卸载
- 删除残留文件和目录
命令行安装的卸载方法:
- 停止 MariaDB 服务:
net stop MariaDB - 删除服务:
sc delete MariaDB或mysqld.exe --remove MariaDB - 删除 MariaDB 安装目录
- 删除环境变量中的 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 数据库。
