使用 mysql 命令代替 mysqldump

TmC*_*afz 8 mysql mysqldump

我想备份我的 MySQL 数据库,但我不小心使用了mysqlcommand 而不是mysqldump. 所以我执行了:

/usr/local/mysql5/bin/mysql -u db_username -p db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)

代替:

/usr/local/mysql5/bin/mysqldump -u db_username -p db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)

我被要求提供数据库密码,之后什么也没发生。这个过程只是没有反应,我不得不杀死它。这会损坏我的数据库吗?

小智 26

mysql 命令是一个交互式 shell,您可以在其中执行 SQL 查询(如SELECT * FROM accounts;)。如果没有shell重定向,它会打印出一个提示(输入密码后),表示现在可以输入命令了。正在从标准输入读取此命令;如果没有退出命令(或<Ctrl>+<D>表示 EOF),这个命令显然是在等待输入。

没有任何输入,数据库不会被改变,因此不会对数据库造成任何伤害(你只是杀死了一个客户端来访问数据库,而不是数据库服务器进程!)