使用 bash 访问 mysql 服务器 localhost

使用 bash 访问 mysql 服务器 localhost

假设我想使用 bash 脚本访问 mysql 服务器并打印本地主机中的所有表和数据库及其数据。

我的脚本如下所示:

mysql -u root -p 密码

执行脚本后,打开的是 mysql shell 而不是 bash。那么如何使用 mysql 运行命令?

另外,我应该执行什么命令来打印出所有数据库、表及其数据?

编辑:我现在知道应该使用哪个命令,但问题仍然存在:

我需要将其写入脚本,但是在输入 mysqldump 命令时,它会以交互方式要求输入密码。

那么如何在 Bash 脚本中处理密码?

答案1

mysqldump它可以满足您的要求。

使用示例:

mysqldump -u root -p --all-databases

请参阅手册以了解更多适合您特定情况的开关。

答案2

尝试这个..

mysqldump -u root -p databasename > filename.sql

所有表都存储在filename.sql中。它就像备份一样。

如果您想将表存储回数据库,请使用此命令。

mysqldump -u root -p databasename < filename.sql

答案3

如果你执行man mysqldump,你将得到以下输出:

--password[=密码], -p[密码]

连接服务器时使用的密码。如果使用短选项形式 (-p),则选项和密码之间不能有空格。如果在命令行中省略 --password 或 -p 选项后的密码值,mysqldump 会提示输入密码。

在命令行上指定密码应被视为不安全。请参阅第 6.1.2.1 节“密码安全的最终用户指南”。您可以使用选项文件来避免在命令行上提供密码。

假设您的 root 密码是 PASSWORD,请尝试以下命令:

mysqldump -u root -pPASSWORD --all-databases > database.sql

相关内容