MYSQL脚本命令成功运行但MYSQL仍在后台执行我无法看到的操作:说明必需

时间:2014-03-19 05:28:10

标签: mysql bash

我有一个关于MySQL的测试数据库,项目存储在不同的表中,当一些用户使用应用程序删除一些项目时我没有从数据库中删除但是我们将项目设置为deleted = 1,以便应用程序无法访问它它保留在数据库中。

几个月后,我们执行脚本,找到已删除= 1的项目并永久删除它们。我的数据库大小为120 GB,我使用命令&#34; #mysql -u root -pmypassword testDatabase < cleanup.sql&#34;执行cleanup.sql脚本。并且命令需要13个人力资源来完成。但是在13个小时之后如果我使用&#34; show full processlist;&#34;在MYSQL我没有告诉我任何过程。但如果我使用#iotop命令查看磁盘使用情况,我可以看到MySQL进程读/写磁盘。

Total DISK READ: 1218.79 K/s | Total DISK WRITE: 66.91 M/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
30898 be/4 mysql    1218.79 K/s   36.28 M/s  0.00 % 15.70 % mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --l~e=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
30145 be/4 mysql       0.00 B/s    7.43 K/s  0.00 %  0.03 % mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --l~e=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
30147 be/4 mysql       0.00 B/s   32.40 M/s  0.00 %  0.00 % mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --l~e=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

如果我使用以下方式查看数据库大小:

SELECT table_schema "Database Names", sum( data_length + index_length ) / 1024 / 1024 /1024 "Data Base Size in GB" FROM information_schema.TABLES GROUP BY table_schema ;

我可以看到数据库不时减少,例如从104.194 GB到103.466 GB等等。

我的问题是为什么我看不到任何进程在MYSQL中运行,除了查看磁盘使用情况之外,我如何确保我的脚本完全执行。

0 个答案:

没有答案