最近要批量生成大量测试数据。写了一个mysql文件。由于执行这个sql文件时间太长,所以需要到mysql服务器上后台执行这个脚本。
一、准备sql文件。
我的sql文件名是
full.sql
里面的内容就是sql语句。比如:
INSERT INTO `xnm`.`role` (`id`, `name`, `description`, `create_time`, `update_time`) VALUES ('1', 'GUEST', '游客', '2017-10-20 17:09:38', '2017-10-20 17:09:41');
二、准备执行的shell脚本。
我的脚本文件名是:import.sh,内容如下:执行完full.sql之后退出:
mysql -u root --password=你的密码 --database=你的数据库 <full.sql;
exit;
三、后台运行shell脚本。
把日志存在当前目录的 mysql_output.log 下面。
nohup ./import.sh >./mysql_output.log 2>&1 &
运行之后用 ps aux |grep mysql
确认一下脚本正在后台运行。
四、exit退出xshell。
在nohup执行之后,该终端必须以exit方式正常退出,若直接退出,有些主机会认为你异常退出而关闭你的进程。
五、重新连接服务器,确认脚本正在运行。
重新连接服务器,用 ps aux |grep mysql
确认一下脚本正在后台运行。