如何通过 Shell 脚本安装数据库转储?

如何通过 Shell 脚本安装数据库转储?

我有一个 Mysql 数据库转储。我想通过 Shell 脚本将它与 Hudson 一起安装到外部 Linux 机器上。

如何获取 Mysql 脚本并在其他计算机上的数据库中运行它?我知道我可以使用 sftp 传输文件,并在手动访问另一台计算机时使用 ssh,但是如何将这一切自动化为一个简单的 Shell 脚本?

答案1

$ mysql -p$pass -u$user -h$otherhost $db < dumpfile

这假设dumpfile是来自 的文本mysqldump,包含原始 SQL 语句。

重要的是,-p和 密码之间不能有空格。 (我假设您想要自动登录。)如果密码没有立即跟随-p,则mysql将该选项解释为它应该以交互方式询问密码,并将单独的密码参数视为数据库名称。

为此,$user必须具有以远程用户身份登录、删除表、创建表以及向该表插入行的权限。 MySQL 为用户保留了单独的远程和本地权限,因此这是一个很容易陷入的陷阱。由于允许远程用户拥有如此大的权力存在安全风险,因此您可能希望将 SSL(--ssl*选项)与mysql.否则,我不知道我会允许远程用户做这样的事情。

相关内容