我有两台服务器,都通过私钥进行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
有人看到我的错误吗?