溫馨提示×

Debian下如何安裝和配置數據庫服務器

小樊
53
2025-09-23 15:31:02
欄目: 云計算

一、安裝數據庫服務器(以MySQL和PostgreSQL為例)

1. MySQL安裝步驟

  • 更新系統包列表:運行sudo apt update,確保系統獲取最新軟件包信息。
  • 安裝MySQL服務器:執行sudo apt install mysql-server -y,自動安裝MySQL主程序及依賴。
  • 安全配置:安裝完成后運行sudo mysql_secure_installation,按提示設置root密碼、刪除匿名用戶、禁止root遠程登錄、刪除測試數據庫。
  • 啟動與開機自啟:通過sudo systemctl start mysql啟動服務,sudo systemctl enable mysql設置開機自動啟動。

2. PostgreSQL安裝步驟

  • 更新系統包列表:運行sudo apt update,同步軟件包索引。
  • 安裝PostgreSQL及擴展:執行sudo apt install postgresql postgresql-contrib -y,安裝PostgreSQL服務器及常用擴展(如pg_stat_statements)。
  • 啟動與開機自啟:使用sudo systemctl start postgresql啟動服務,sudo systemctl enable postgresql設置開機自啟。
  • 驗證安裝:切換至postgres用戶(sudo -u postgres psql),輸入\q退出,確認命令行工具可用。

二、基礎配置(安全與權限管理)

1. MySQL安全增強

  • 修改root密碼策略:登錄MySQL(sudo mysql -u root -p),執行ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword123!'(替換為復雜密碼)。
  • 限制遠程訪問:編輯配置文件sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address = 127.0.0.1(默認僅本地訪問),若需遠程訪問可改為0.0.0.0(需謹慎),保存后重啟服務sudo systemctl restart mysql。
  • 創建專用用戶并授權:登錄MySQL后,執行CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'AppPassword456';創建用戶,GRANT ALL PRIVILEGES ON my_database.* TO 'app_user'@'localhost';授權指定數據庫權限,FLUSH PRIVILEGES;刷新權限表。

2. PostgreSQL權限配置

  • 修改postgres用戶密碼:登錄PostgreSQL(sudo -u postgres psql),執行ALTER USER postgres WITH PASSWORD 'SecurePostgresPass';設置強密碼。
  • 創建數據庫與用戶:在psql中執行CREATE DATABASE mydb;創建數據庫,CREATE USER myuser WITH ENCRYPTED PASSWORD 'UserPass123';創建用戶,GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;授權,\q退出。
  • 調整連接限制:編輯配置文件sudo nano /etc/postgresql/<version>/main/postgresql.conf(如postgresql.conf),修改max_connections = 100(根據服務器資源調整最大連接數);編輯sudo nano /etc/postgresql/<version>/main/pg_hba.conf,添加host all all 0.0.0.0/0 md5(允許所有IP遠程連接,需配合防火墻設置),保存后重啟服務sudo systemctl restart postgresql。

三、服務管理

  • 啟動/停止/重啟服務
    • MySQL:sudo systemctl start mysql(啟動)、sudo systemctl stop mysql(停止)、sudo systemctl restart mysql(重啟)。
    • PostgreSQL:sudo systemctl start postgresql(啟動)、sudo systemctl stop postgresql(停止)、sudo systemctl restart postgresql(重啟)。
  • 查看服務狀態sudo systemctl status mysql(MySQL狀態)、sudo systemctl status postgresql(PostgreSQL狀態),確認服務運行正常(顯示“active (running)”)。

四、常用操作命令

  • MySQL命令行工具mysql -u root -p(登錄root賬戶)、mysql -u app_user -p(登錄普通用戶)。
  • PostgreSQL命令行工具psql -U postgres(登錄postgres用戶)、psql -U myuser -d mydb -h localhost(登錄指定數據庫)。
  • 備份與恢復
    • MySQL:mysqldump -u root -p --all-databases > full_backup.sql(全量備份)、mysql -u root -p < backup.sql(恢復)。
    • PostgreSQL:pg_dump -U postgres --all-databases > full_backup.sql(全量備份)、psql -U postgres < backup.sql(恢復)。

注意事項

  • 生產環境中,禁止root用戶遠程登錄,優先使用普通用戶+SSH隧道訪問。
  • 定期更新數據庫軟件(sudo apt update && sudo apt upgrade),修復安全漏洞。
  • 配置防火墻(如ufw)放行數據庫端口(MySQL:3306、PostgreSQL:5432),僅允許可信IP訪問。
  • 對于高可用需求,建議配置主從復制或使用集群方案(如MySQL Group Replication、PostgreSQL Patroni)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女