温馨提示×

centos如何导入sql文件

小樊
45
2026-09-21 15:42:54
栏目: 云计算

在 CentOS 上导入 SQL 文件,通常是把 .sql 文件导入到 MySQL / MariaDB 数据库中。下面按常见场景说明。


一、前提条件

  1. 已安装 MySQL 或 MariaDB
  2. 已有数据库(或先创建)
  3. 有数据库账号(如 root)

查看数据库是否在运行:

systemctl status mysqld
# 或
systemctl status mariadb

二、导入 SQL 文件(最常用)

方法 1:使用 mysql 命令(推荐)

mysql -u 用户名 -p 数据库名 < 文件.sql

示例:

mysql -u root -p mydb < /root/data.sql

输入密码后即可导入。


方法 2:先登录再导入

mysql -u root -p

进入 MySQL 后:

use mydb;
source /root/data.sql;

三、如果数据库还不存在

1. 先创建数据库

mysql -u root -p -e "CREATE DATABASE mydb CHARACTER SET utf8mb4;"

2. 再导入

mysql -u root -p mydb < data.sql

四、导入大 SQL 文件(防止中断)

mysql -u root -p --max_allowed_packet=512M mydb < big.sql

或在 my.cnf 中调整:

[mysqld]
max_allowed_packet=512M

五、远程数据库导入

mysql -h 远程IP -P 3306 -u 用户名 -p 数据库名 < data.sql

六、常见问题

1. 提示权限不足

确保用户有该库的 ALL PRIVILEGES

2. 中文乱码

创建库时指定:

CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4;

3. 导入很慢

  • 临时关闭索引
  • 使用 source
  • 避免一条条 INSERT

如果你用的是 PostgreSQL / SQLite 或具体报错信息,可以告诉我,我给你对应方案。

0 踩