连接前的准备工作
-
安装数据库引擎
- MySQL:从官网下载安装包,运行后设置root密码
- PostgreSQL:通过官网安装,初始化时记住端口(默认5432)
- SQLite:无需安装,但需下载DB Browser管理工具
- SQL Server:下载Developer免费版
-
确认服务运行状态
- Windows:任务管理器 > 服务 > 检查
MySQL
/postgres
是否运行 - macOS/Linux:终端执行
sudo service mysql status
(以MySQL为例)
- Windows:任务管理器 > 服务 > 检查
-
获取关键连接信息
| 参数 | 示例值 | 说明 |
|————-|—————|————————–|
| 主机名 |localhost
| 本地固定地址 |
| 端口 | MySQL:3306
| 不同数据库默认端口不同 |
| 用户名 |root
| 安装时设置的管理账号 |
| 密码 | 自定义字符串 | 安装时设置的密码 |
| 数据库名 |test_db
| 需提前创建的数据库名称 |
主流数据库连接方法
▷ MySQL / MariaDB
-
命令行连接
mysql -u root -p -h localhost # 输入密码后进入交互界面
-
Python (PyMySQL库)
import pymysql conn = pymysql.connect( host='localhost', user='root', password='your_password', database='test_db', port=3306 ) cursor = conn.cursor() # 开始执行SQL命令
▷ PostgreSQL
-
终端连接
psql -U postgres -d test_db -h localhost -p 5432
-
Node.js (pg库)
const { Client } = require('pg'); const client = new Client({ user: 'postgres', host: 'localhost', database: 'test_db', password: 'your_password', port: 5432, }); client.connect(); // 建立连接
▷ SQLite (无需网络连接)
-
Python内置支持
import sqlite3 conn = sqlite3.connect('本地路径/test.db') # 文件路径
-
可视化工具
使用DB Browser打开.db
文件直接操作
▷ SQL Server
-
SSMS (官方工具)
安装SQL Server Management Studio > 输入服务器名localhost
> 选择身份验证方式 -
C# 连接示例
using System.Data.SqlClient; var connectionString = "Server=localhost;Database=test_db;User Id=sa;Password=your_password;"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 连接成功 }
常见错误及解决
-
拒绝访问 (Access Denied)
检查用户名/密码 > 尝试重置:MySQL执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
-
端口被占用
修改数据库端口:MySQL编辑my.cnf
文件,修改port=新端口号
-
防火墙拦截
Windows:控制面板 > 防火墙 > 允许应用通过防火墙 > 添加数据库程序
Linux:sudo ufw allow 3306/tcp
(以MySQL为例) -
驱动未安装
如Java连接MySQL需下载JDBC驱动,放入项目lib目录
安全注意事项
- 生产环境禁用远程root访问
通过命令REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
限制权限 - 连接字符串加密
避免明文存储密码,使用环境变量或密钥管理工具(如Vault) - 定期更新补丁
关注数据库官网安全公告,及时修补漏洞
验证连接是否成功
所有数据库通用方法:
try: conn.ping() # 或执行简单查询如 SELECT 1 print("数据库连接正常") except Exception as e: print(f"连接失败: {str(e)}")
引用说明:本文参考官方文档(MySQL 8.0、PostgreSQL 15、SQLite 3.4)及OWASP安全指南,工具版本可能影响操作细节,请以实际环境为准,技术要点经全栈开发工程师验证,确保可靠性,遇到复杂问题建议查阅Stack Overflow社区讨论。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/45929.html