将mysql数据库从本地导入远程服务器

问题描述

我想使用 cronjob 将转储的本地数据库导入远程“MysqL 服务器的 azure 数据库”。

在终端中使用此命令可以正常工作:

MysqL -u[USER] -p[PASSWORD] -h[REMOTE-HOST] --ssl-mode=required --ssl-ca=sslCert/BaltimoreCyberTrustRoot.crt.pem remotedb < localdb.sql

如果我将该命令放在 shell 脚本中并手动调用它,它也可以工作。

为什么它在 /etc/crontab 中不起作用?

### import db into azure MysqL server ###
*/3 * * * * itsme  /home/itsme/backup/app/dumps/import_db_into_remote.sh

如果我试图通过 cron 将数据库从远程转储到本地,也会发生同样的情况。它不起作用。

解决方法

问题已解决。 cron 需要证书文件的完整路径

mysql -u[USER] -p[PASSWORD] -h[REMOTE-HOST] --ssl-mode=REQUIRED --ssl-ca=/home/itsme/backup/app/sslCert/BaltimoreCyber​​TrustRoot。 crt.pem remotedb