专业网站制作电话,织梦 和wordpress,中国建设银行app登录密码忘记了,网站开发环境安装程序SQL进程中断实验
我们操作数据库时#xff0c;经常遇到数据导入等特别耗时的SQL操作#xff0c;而关闭MySQL客户端或SSH终端#xff0c;就会立马关闭SQL会话#xff0c;导致SQL执行中断#xff0c;如下实验#xff1a;
在第一个SSH终端执行
# 进入Mysql客户端#xf…SQL进程中断实验
我们操作数据库时经常遇到数据导入等特别耗时的SQL操作而关闭MySQL客户端或SSH终端就会立马关闭SQL会话导致SQL执行中断如下实验
在第一个SSH终端执行
# 进入Mysql客户端模拟一个sleep(30)秒的耗时操作
$ mysql -uroot
mysql select sleep(30);打开第二个SSH终端。查看Msql进程
$ mysql -uroot -e SHOW PROCESSLIST;--------------------------------------------------------------------------------------------------
| Id | User | Host | db | Command | Time | State | Info |
--------------------------------------------------------------------------------------------------
| 5 | event_scheduler | localhost | NULL | Daemon | 230197 | Waiting on empty queue | NULL |
| 180 | root | localhost | NULL | Query | 8 | User sleep | select sleep(30) |
| 181 | root | localhost | NULL | Query | 0 | init | SHOW PROCESSLIST |
--------------------------------------------------------------------------------------------------关闭第一个SSH终端再次执行第二步(查看Msql进程)。 发现sleep进程已关闭。 守护进程执行SQL
可以借助于nohup,在后台执行sql命令/脚本格式如下
nohup mysql -u用户名 -p密码 -e YOUR_SQL
nohup mysql -u用户名 -p密码 script.sql 终端直接执行SQL语句
$ mysql -uroot -e show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------$ mysql -uroot -e select version;
-----------
| version |
-----------
| 8.3.0 |
-----------nohup执行SQL
# 模拟一个耗时的SQL操作sleep 10秒然后将执行结果写入文件
$ nohup mysql -uroot -e select sleep(10);select now() as complected;select SQL执行完毕 as result; nohup.txt 21 # 验证结果
$ cat nohup.txt
nohup: ignoring input
sleep(10)
0
complected
2024-03-04 03:27:25
result
SQL执行完毕nohup执行脚本
nohup mysql -h192.168.10.11 -uroot -p123456 db.sql nohup.txt 21