用于迁移数据库的bash函数 - 无提示失败

时间:2017-06-22 14:16:12

标签: mysql bash ssh mariadb

我有两台服务器,都通过私钥进行ssh root访问。我试图复制许多数据库(旧服务器是MySQL 5.0.95,新服务器是MariaDB 5.5.5-10.2.4),并且还有一个方便的工具供以后使用。看起来我应该能够在一个命令中执行它,我把它放在旧服务器上的.bashrc中,但是我没有任何错误的反馈就遇到了问题。

如果我首先在新服务器上手动创建数据库,则可以:

migratedb() { mysqldump -u root -pmypass $1 | ssh root@123.123.123.123 mysql -u root -pmypass $1; }

这似乎应该让我省去那一步,但它并没有做我能看到的任何事情:

migratedb() { mysqldump -u root -pmypass --add-drop-database --databases $1 | ssh root@123.123.123.123 mysql -u root -pmypass; }

它显然与函数包装器有关,因为直接在命令行上工作:

mysqldump -u root -pmypass --add-drop-database --databases databasename | ssh root@123.123.123.123 mysql -u root -pmypass

有人看到我的错误吗?

0 个答案:

没有答案