当前位置:首页>Linux>Linux 数据库服务器部署(详细)

Linux 数据库服务器部署(详细)

  • 2026-09-02 19:51:46
Linux 数据库服务器部署(详细)

    在Linux系统管理中,你是否曾经遇到过数据库安装困难、性能优化复杂、或者数据备份繁琐的问题?    数据库服务器部署是系统管理的重要技能,掌握这些技能不仅能保证数据安全,还能提高数据库性能。    本文将详细介绍数据库服务器部署的核心技术和配置技巧。

目录

  1. 1. MySQL部署配置
  2. 2. PostgreSQL部署配置
  3. 3. Redis部署配置

1. MySQL部署配置

1.1 安装与基础配置

安装MySQL:

1
2
3
4
5
6
7
8
9
10

# Ubuntu/Debian系统sudo apt updatesudo apt install mysql-server# CentOS/RHEL系统sudo yum install mysql-server# 启动服务sudo systemctl start mysqlsudo systemctl enable mysql

安全配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 运行安全脚本sudo mysql_secure_installation# 设置root密码sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword123!'"# 删除匿名用户sudo mysql -e "DELETE FROM mysql.user WHERE User='';"# 禁止root远程登录sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"# 删除测试数据库sudo mysql -e "DROP DATABASE IF EXISTS test;"

1.2 基础配置

配置文件优化:

1
2
3
4
5
6
7
8
9
10
11
12
13

# 编辑配置文件sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf# 设置基础参数[mysqld]bind-address = 127.0.0.1port = 3306socket = /var/run/mysqld/mysqld.sock# 设置内存参数innodb_buffer_pool_size = 1Ginnodb_log_file_size = 256Minnodb_flush_log_at_trx_commit = 2

创建数据库:

1
2
3
4
5
6
7
8
9
10
11

# 创建数据库sudo mysql -e "CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"# 创建用户sudo mysql -e "CREATE USER 'myapp'@'localhost' IDENTIFIED BY 'AppPassword123!';"# 授权sudo mysql -e "GRANT ALL PRIVILEGES ON myapp.* TO 'myapp'@'localhost';"# 刷新权限sudo mysql -e "FLUSH PRIVILEGES;"

1.3 备份与恢复

备份配置:

1
2
3
4
5
6
7

# 创建备份脚本sudo nano /backup/mysql_backup.sh#!/bin/bashDATE=$(date +%Y%m%d_%H%M%S)mysqldump -u root -p'RootPassword123!' --all-databases > /backup/mysql_backup_$DATE.sqlgzip /backup/mysql_backup_$DATE.sql

设置定时任务:

1
2
3

# 添加定时任务sudo crontab -e# 添加:0 2 * * * /backup/mysql_backup.sh

恢复数据:

1
2
3
4
5

# 解压备份文件gunzip mysql_backup_20240308_020000.sql.gz# 恢复数据mysql -u root -p'RootPassword123!' < mysql_backup_20240308_020000.sql

2. PostgreSQL部署配置

2.1 安装与基础配置

安装PostgreSQL:

1
2
3
4
5
6
7
8
9
10
11
12
13

# Ubuntu/Debian系统sudo apt updatesudo apt install postgresql postgresql-contrib# CentOS/RHEL系统sudo yum install postgresql-server postgresql-contrib# 初始化数据库sudo postgresql-setup initdb# 启动服务sudo systemctl start postgresqlsudo systemctl enable postgresql

基础配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 切换到postgres用户sudo -u postgres psql# 创建用户CREATE USER myapp WITH PASSWORD 'AppPassword123!';# 创建数据库CREATE DATABASE myapp OWNER myapp;# 授权GRANT ALL PRIVILEGES ON DATABASE myapp TO myapp;# 退出\q

2.2 配置文件优化

编辑配置文件:

1
2
3
4
5
6
7
8
9
10
11
12

# 编辑主配置文件sudo nano /etc/postgresql/13/main/postgresql.conf# 设置基础参数listen_addresses = 'localhost'port = 5432max_connections = 200# 设置内存参数shared_buffers = 256MBeffective_cache_size = 1GBmaintenance_work_mem = 64MB

编辑pg_hba.conf:

1
2
3
4
5
6
7

# 编辑客户端认证配置sudo nano /etc/postgresql/13/main/pg_hba.conf# 添加配置local   all             all                                     md5host    all             all             127.0.0.1/32            md5host    all             all             ::1/128                 md5

重启服务:

1

sudo systemctl restart postgresql

2.3 备份与恢复

备份配置:

1
2
3
4
5
6
7

# 创建备份脚本sudo nano /backup/postgresql_backup.sh#!/bin/bashDATE=$(date +%Y%m%d_%H%M%S)pg_dump -U myapp myapp > /backup/postgresql_backup_$DATE.sqlgzip /backup/postgresql_backup_$DATE.sql

恢复数据:

1
2
3
4
5

# 解压备份文件gunzip postgresql_backup_20240308_020000.sql.gz# 恢复数据psql -U myapp myapp < postgresql_backup_20240308_020000.sql

3. Redis部署配置

3.1 安装与基础配置

安装Redis:

1
2
3
4
5
6
7
8
9
10

# Ubuntu/Debian系统sudo apt updatesudo apt install redis-server# CentOS/RHEL系统sudo yum install redis# 启动服务sudo systemctl start redissudo systemctl enable redis

基础配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 编辑配置文件sudo nano /etc/redis/redis.conf# 设置基础参数port 6379bind 127.0.0.1daemonize yes# 设置内存参数maxmemory 2gbmaxmemory-policy allkeys-lru# 设置持久化save 900 1save 300 10save 60 10000

3.2 安全配置

密码保护:

1
2
3
4
5
6
7

# 设置密码requirepass StrongRedisPassword123!# 禁用危险命令rename-command FLUSHDB ""rename-command FLUSHALL ""rename-command DEBUG ""

网络配置:

1
2
3
4
5
6
7
8

# 绑定特定IPbind 127.0.0.1# 设置端口port 6379# 禁用protected模式protected-mode yes

3.3 性能优化

内存优化:

1
2
3
4
5
6
7
8

# 设置最大内存maxmemory 2gb# 设置内存策略maxmemory-policy allkeys-lru# 设置过期时间maxmemory-samples 5

持久化配置:

1
2
3
4
5
6
7
8
9
10

# 设置RDB持久化save 900 1save 300 10save 60 10000# 设置AOF持久化appendonly yesappendfsync everysecauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb

3.4 监控与维护

监控命令:

1
2
3
4
5
6
7
8
9
10
11

# 查看信息redis-cli info# 查看内存使用redis-cli info memory# 查看连接数redis-cli info clients# 查看键值对数量redis-cli dbsize

性能测试:

1
2
3
4
5
6
7
8

# 性能测试redis-cli --latency -t 100# 内存测试redis-cli --bigkeys# 连接测试redis-cli --test-memory 4096

总结

    数据库服务器部署是系统管理的重要技能,掌握这些技能不仅能保证数据安全,还能提高数据库性能。

关键要点回顾:

  1. 1. MySQL部署:安装配置、安全配置、备份恢复
  2. 2. PostgreSQL部署:安装配置、配置优化、备份恢复
  3. 3. Redis部署:安装配置、安全配置、性能优化
  4. 4. 备份策略:定期备份、自动备份、数据恢复
  5. 5. 性能优化:内存优化、配置优化、监控维护

最新文章

随机文章