Debian系統下配置SQL數據庫主要涵蓋MySQL/MariaDB(開源主流)、PostgreSQL(企業級開源)、SQL Server(微軟生態)三類常見數據庫,以下是詳細步驟:
sudo apt update && sudo apt upgrade -y
sudo apt install mysql-server -y # 或 mariadb-server(MariaDB分支)
運行安全腳本設置root密碼、移除匿名用戶、禁止root遠程登錄:
sudo mysql_secure_installation
按提示操作,重點設置強密碼并確認安全選項。
使用root用戶登錄:
sudo mysql -u root -p
創建數據庫與用戶(示例):
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
編輯配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,調整關鍵參數:
[mysqld]
innodb_buffer_pool_size = 1G # 根據服務器內存調整(如16GB內存設為4G)
max_connections = 200 # 最大連接數
key_buffer_size = 128M # MyISAM索引緩存
重啟服務生效:
sudo systemctl restart mysql
sudo apt update && sudo apt upgrade -y
sudo apt install postgresql postgresql-contrib -y
使用postgres超級用戶連接:
sudo -u postgres psql
在psql命令行中執行:
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
\q # 退出
編輯postgresql.conf(路徑:/etc/postgresql/{version}/main/postgresql.conf):
listen_addresses = '*' # 允許所有IP連接(生產環境建議限制為特定IP)
port = 5432 # 默認端口
編輯pg_hba.conf(路徑:/etc/postgresql/{version}/main/pg_hba.conf),添加遠程訪問規則:
host all all 0.0.0.0/0 md5 # 允許所有IP通過密碼認證連接
重啟服務:
sudo systemctl restart postgresql
生成SSL證書:
sudo mkdir -p /etc/postgresql/ssl
sudo openssl req -new -x509 -days 365 -nodes -text -subj "/CN=postgres" \
-out /etc/postgresql/ssl/server.crt -keyout /etc/postgresql/ssl/server.key
sudo chmod 600 /etc/postgresql/ssl/server.key
修改postgresql.conf啟用SSL:
ssl = on
ssl_cert_file = '/etc/postgresql/ssl/server.crt'
ssl_key_file = '/etc/postgresql/ssl/server.key'
重啟服務生效。
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg apt-transport-https
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/12/prod/ stable main" | sudo tee /etc/apt/sources.list.d/mssql-server.list
sudo apt update
sudo apt install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup # 設置SA密碼(系統管理員)
sudo apt install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc # 使工具生效
使用sqlcmd工具連接:
sqlcmd -S localhost -U SA -P 'YourSAPassword'
進入命令行界面后,可執行SQL語句(如創建數據庫):
CREATE DATABASE MyDB;
GO
MySQL:使用mysqldump備份:
mysqldump -u root -p mydb > mydb_backup.sql
恢復:
mysql -u root -p mydb < mydb_backup.sql
PostgreSQL:使用pg_dump備份:
pg_dump -U myuser -d mydb > mydb_backup.sql
恢復:
psql -U myuser -d mydb -f mydb_backup.sql
SQL Server:使用sqlcmd導出數據或使用SSMS圖形工具。
MySQL:使用mysqltuner工具分析性能:
sudo apt install mysqltuner
mysqltuner
PostgreSQL:使用pg_stat_statements擴展查看慢查詢:
CREATE EXTENSION pg_stat_statements;
SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10;
SQL Server:使用內置的Performance Monitor或Dynamic Management Views (DMVs)監控性能。