一、基础管理操作
-
服务状态管理
- 启动/停止/重启:
sudo systemctl start/stop/restart mariadb - 查看状态:
sudo systemctl status mariadb
- 启动/停止/重启:
-
配置文件管理
- 主配置文件路径:
/etc/mysql/mariadb.conf.d/50-server.cnf - 修改后需重启服务生效。
- 主配置文件路径:
-
用户与权限管理
- 创建用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; - 授权:
GRANT ALL PRIVILEGES ON database.* TO 'username'@'host'; - 刷新权限:
FLUSH PRIVILEGES;
- 创建用户:
二、监控工具与方法
-
命令行工具
- mytop:实时查看线程、查询、慢查询等,类似
top命令。- 安装:
sudo apt install mytop - 使用:
mytop -u root -p
- 安装:
- mysqladmin:查看服务器状态、连接数等。
- 示例:
mysqladmin -u root -p processlist(查看当前连接)
- 示例:
- mytop:实时查看线程、查询、慢查询等,类似
-
系统工具
- top/htop:查看CPU、内存占用。
- ps:查看MariaDB进程:
ps -ef | grep mariadb
-
专业监控工具
- Prometheus + Grafana:
- 安装Prometheus节点导出器(node_exporter)监控指标,通过Grafana可视化。
- Zabbix:支持数据库性能、可用性监控,需配置数据库插件。
- Percona Monitoring and Management (PMM):专为MariaDB设计,提供性能分析和优化建议。
- Prometheus + Grafana:
-
日志分析
- 错误日志:
/var/log/mysql/error.log,查看启动或运行错误。 - 慢查询日志:启用后记录慢查询,路径可配置(默认需手动创建)。
- 启用命令:
SET GLOBAL slow_query_log = 'ON';
- 启用命令:
- 错误日志:
三、安全与优化
-
安全加固
- 运行安全脚本:
sudo mysql_secure_installation(设置密码、删除匿名用户等)。 - 限制远程访问:修改配置文件
bind-address为127.0.0.1,仅允许可信IP。
- 运行安全脚本:
-
性能优化
- 定期分析慢查询日志,优化SQL语句。
- 调整缓冲池大小(
innodb_buffer_pool_size)等参数,需结合服务器资源。
四、自动化与脚本
- 编写Shell脚本定期备份数据库:
# 示例:每日备份指定数据库 mysqldump -u root -p database_name > /backup/db_$(date +%F).sql - 使用
cron定时执行备份脚本。
参考来源: