Linux 中 mysql client 执行 sql 文件的两种方式
方式一:通过 管道符、输入重定向的方式
mysql -uroot -p dbname < dump.sql
-
shell 通过输入重定向,将 dump.sql 作为 mysql client 的标准输入(stdin),mysql client 从 stdin 读取 sql 并发送给 mysql server 执行。
-
若 某条 sql 执行错误,myql client 会终止后续 sql 的执行。可以通过 添加
--force参数来忽略错误,继续执行后续 sql
方式二:通过 msyql client 的 source 命令
mysql> source dump.sql
-
由 mysql client 打开 dump.sql 文件,逐条读取 sql 语句并发送给 mysql server 执行。
-
若 某条 sql 执行错误,则会继续执行后续的 sql
通过输入重定向 和 mysql client 的 source 命令让 mysql server 执行 sql 时,速度差不多,因为都是从 stdin 读内容,然后给 mysql server 处理。
