MySQL 批量执行 SQL 文件是指将多个 SQL 语句集中存储在一个文件中,然后一次性执行这些语句。这种方式常用于数据库初始化、数据导入、表结构修改等场景。
;
)进行分隔。原因:SQL 文件过大,执行时间过长,超过了数据库的连接超时时间。
解决方法:
SET GLOBAL connect_timeout = 3600; -- 设置连接超时时间为3600秒
原因:SQL 文件中的某个语句执行失败,导致整个批量执行失败。
解决方法:
mysql -u username -p database_name < sql_file.sql 2> error.log
原因:SQL 文件的编码格式与数据库的编码格式不一致,导致执行失败。
解决方法:
iconv -f old_encoding -t utf8 sql_file.sql > sql_file_utf8.sql
假设有一个名为 init.sql
的 SQL 文件,内容如下:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
);
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
执行该 SQL 文件的命令如下:
mysql -u username -p database_name < init.sql
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云