插件窝 干货文章 如何配置和管理Linux上的数据库服务

如何配置和管理Linux上的数据库服务

数据库 PostgreSQL sudo MongoDB 486    来源:    2025-04-10

Linux数据库服务配置与管理指南

一、常见数据库服务选择

在Linux上常用的数据库服务包括: - 关系型数据库:MySQL/MariaDB, PostgreSQL - NoSQL数据库:MongoDB, Redis - 时序数据库:InfluxDB - 键值存储:Redis, Memcached

二、MySQL/MariaDB安装与配置

安装步骤

# Ubuntu/Debian
sudo apt update
sudo apt install mariadb-server

# CentOS/RHEL
sudo yum install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb

基本配置

  1. 运行安全安装脚本:
sudo mysql_secure_installation
  1. 登录MySQL:
sudo mysql -u root -p
  1. 创建新用户和数据库:
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

配置文件位置

  • 主配置文件:/etc/mysql/my.cnf/etc/my.cnf
  • 包含目录:/etc/mysql/conf.d//etc/mysql/mariadb.conf.d/

三、PostgreSQL安装与配置

安装步骤

# Ubuntu/Debian
sudo apt install postgresql postgresql-contrib

# CentOS/RHEL
sudo yum install postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

基本配置

  1. 切换到postgres用户:
sudo -i -u postgres
  1. 创建新用户和数据库:
createuser --interactive
createdb mydb
  1. 设置密码:
psql
ALTER USER myuser WITH PASSWORD 'password';

配置文件位置

  • 主目录:/var/lib/pgsql/var/lib/postgresql
  • 配置文件:/var/lib/pgsql/data/postgresql.conf
  • 认证配置:/var/lib/pgsql/data/pg_hba.conf

四、MongoDB安装与配置

安装步骤

# Ubuntu/Debian
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt update
sudo apt install mongodb-org

# CentOS/RHEL
sudo yum install mongodb-org

基本配置

  1. 启动服务:
sudo systemctl start mongod
sudo systemctl enable mongod
  1. 连接MongoDB:
mongo
  1. 创建管理员用户:
use admin
db.createUser({
  user: "admin",
  pwd: "password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

配置文件位置

  • /etc/mongod.conf

五、数据库服务管理

通用服务管理命令

# 启动服务
sudo systemctl start servicename

# 停止服务
sudo systemctl stop servicename

# 重启服务
sudo systemctl restart servicename

# 查看状态
sudo systemctl status servicename

# 设置开机启动
sudo systemctl enable servicename

备份与恢复

MySQL/MariaDB备份

# 备份单个数据库
mysqldump -u username -p database_name > backup.sql

# 备份所有数据库
mysqldump -u username -p --all-databases > all_backup.sql

# 恢复数据库
mysql -u username -p database_name < backup.sql

PostgreSQL备份

# 备份单个数据库
pg_dump -U username -d database_name -f backup.sql

# 备份所有数据库
pg_dumpall -U username -f all_backup.sql

# 恢复数据库
psql -U username -d database_name -f backup.sql

MongoDB备份

# 备份数据库
mongodump --db database_name --out /backup/path

# 恢复数据库
mongorestore --db database_name /backup/path/database_name

六、性能优化与安全

性能优化建议

  1. 调整缓冲区大小:根据服务器内存调整数据库的缓冲池大小
  2. 索引优化:为常用查询字段创建适当索引
  3. 定期维护:定期执行ANALYZE TABLE(MySQL)或VACUUM ANALYZE(PostgreSQL)
  4. 查询优化:使用EXPLAIN分析慢查询

安全最佳实践

  1. 限制远程访问:只允许必要的IP访问数据库
  2. 使用强密码:避免使用默认或简单密码
  3. 定期更新:保持数据库软件最新版本
  4. 加密连接:配置SSL/TLS加密连接
  5. 定期审计:检查数据库日志和用户权限

七、监控与日志

查看数据库日志

  • MySQL/MariaDB:/var/log/mysql/error.log
  • PostgreSQL:/var/lib/pgsql/data/pg_log/
  • MongoDB:/var/log/mongodb/mongod.log

监控工具

  1. 命令行工具

    • MySQL:mysqladmin status
    • PostgreSQL:pg_stat_activity
    • MongoDB:mongostat
  2. 图形化工具

    • phpMyAdmin (MySQL)
    • pgAdmin (PostgreSQL)
    • MongoDB Compass (MongoDB)
  3. 专业监控系统

    • Prometheus + Grafana
    • Percona Monitoring and Management (MySQL)
    • Zabbix

通过以上配置和管理方法,您可以在Linux系统上高效地运行和维护各种数据库服务。