引言
因课程大作业涉及到数据库的打包,虽然操作简单,但笔者水平实在一般,之前并没有接触过。故学习后,将方法记录于此,方便后续使用时温习,说不定还能为大家提供些许帮助。
打包
bash
打包指令如下:
mysqldump -u root -p db > db.sql
其中,-u后的root是用户名,-p后的db是数据库名称,>后的db.sql是打包出的sql文件的名称。输入以上指令后,会提示继续输入密码,密码正确成功在当前目录下打包db数据库为db.sql
导入数据库
将 .sql 文件转化为可供代码访问的数据库,本质上就是将 SQL 脚本(包含表结构和数据)导入到一个真实的系统中(如 MySQL、PostgreSQL 等)。以下以最常用的 MySQL 为例,分步说明整个过程。
1. 准备数据库环境
确保你已安装并启动 MySQL 服务。如果没有安装,可从 MySQL 官网 下载安装。
2. 创建目标数据库(可选)
如果 .sql 文件中没有 包含 CREATE DATABASE 语句,你需要手动创建一个空的数据库用于导入。登录 MySQL:
bash
mysql -u root -p
然后执行:
bash
CREATE DATABASE your_database_name;
exit;
如果文件中已包含 CREATE DATABASE 语句,你可以直接跳到下一步。
3. 导入 .sql 文件
使用 mysql 命令行工具将文件内容导入到指定的数据库。
bash
mysql -u root -p your_database_name < /path/to/your/file.sql
-
将
your_database_name替换为你的数据库名。 -
将
/path/to/your/file.sql替换为.sql文件的实际路径。 -
按提示输入密码。
示例:
bash
mysql -u root -p wms_db < /home/user/db.sql
常用选项
-
如果文件较大,可增加
--max_allowed_packet=128M参数。 -
指定字符集:
--default-character-set=utf8mb4。
4. 验证导入
登录 MySQL,切换到目标数据库,查看表和数据是否完整。
bash
USE your_database_name;
SHOW TABLES;
SELECT * FROM some_table LIMIT 10;
5. 通过代码访问数据库
导入成功后,你就可以在应用程序中连接该数据库了。以下是 Java(Spring Boot)和 Python 的简单示例。
Java 示例(使用 JDBC)
java
import java.sql.*;
public class TestDB {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "your_password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");
while (rs.next()) {
System.out.println(rs.getString("column_name"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Python 示例(使用 pymysql)
python
import pymysql
connection = pymysql.connect(
host='localhost',
user='root',
password='your_password',
database='your_database_name',
charset='utf8mb4'
)
try:
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM your_table")
result = cursor.fetchall()
for row in result:
print(row)
finally:
connection.close()
注意事项
-
字符集 :导入时确保字符集与
.sql文件编码一致,否则中文可能乱码。建议在连接 URL 或命令行中指定utf8mb4。 -
用户权限 :代码中使用的数据库用户应拥有对目标库的相应权限(至少
SELECT、INSERT等)。 -
防火墙/端口:如果数据库部署在远程服务器,确保防火墙开放 3306 端口,并在连接 URL 中使用服务器 IP。
-
备份:导入前最好备份现有数据,以免被覆盖。
图形化工具(可选)
如果你不习惯命令行,也可以使用图形化工具导入:
-
MySQL Workbench :打开
.sql文件 → 执行。 -
phpMyAdmin:登录后选择数据库 → 点击"导入"选项卡 → 上传文件。
-
Navicat / DBeaver:运行 SQL 文件功能。
通过以上步骤,你的 .sql 文件就成功还原成一个可供代码访问的数据库了。