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)
监控性能。