我在Mac 10.7.5上使用MySql 5.5。从shell(我使用bash),我希望能够运行命令或截断所有表中的数据。另外,我想输入一个不会提示我输入密码的命令。我试过这个,我发现在另一个SO帖子上,但没有骰子。什么是可用于截断所有数据库表数据的shell命令?如何截断我的MySQL数据库中的所有数据?
mysql -umyuser -p -e 'SET FOREIGN_KEY_CHECKS = 0; show tables' my_db | while read table; do mysql -e -umyuser -p "truncate table $table" my_db; done
Enter password:
mysql Ver 14.14 Distrib 5.5.25, for osx10.6 (i386) using readline 5.1
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Usage: mysql [OPTIONS] [database]
-?, --help Display this help and exit.
-I, --help Synonym for -?
--auto-rehash Enable automatic rehashing. One doesn't need to use
'rehash' to get table and field completion, but startup
and reconnecting may take a longer time. Disable with
--disable-auto-rehash.
(Defaults to on; use --skip-auto-rehash to disable.)
-A, --no-auto-rehash
No automatic rehashing. One has to use 'rehash' to get
table and field completion. This gives a quicker start of
mysql and disables rehashing on reconnect.
--auto-vertical-output
Automatically switch to vertical output mode if the
result is wider than the terminal width.
-B, --batch Don't use history file. Disable interactive behavior.
(Enables --silent.)
--character-sets-dir=name
Directory for character set files.
--column-type-info Display column type information.
-c, --comments Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments), enable
with --comments.
-C, --compress Use compression in server/client protocol.
-#, --debug[=#] This is a non-debug version. Catch this and exit.
--debug-check Check memory and open file usage at exit.
-T, --debug-info Print some debug info at exit.
-D, --database=name Database to use.
--default-character-set=name
...
没有骰子后恢复它,你可能要通过所有的表格和'TRUNCATE的迭代“他们一个接一个。 – 2013-03-18 13:15:42
你是什么意思“没有骰子”?我发布了这个问题,因为我无法得到命令的工作,并希望有人知道解决方法。 – Dave 2013-03-18 15:24:49
如果你不想输入密码,你可以把它放到你的my.cnf配置文件中。您可能希望将权限设置为600,以便其他人无法看到它。 – ckim 2013-03-18 17:46:56