【问题标题】:Bitbucket Server DIY Backup deleting database directoryBitbucket Server DIY 备份删除数据库目录
【发布时间】:2016-04-25 14:41:17
【问题描述】:

我的机器上有一个 Bitbucket Server 的本地副本,我正在运行测试,然后再将它放到服务器上。

我正在尝试使用 Bitbucket DIY 备份,但每次运行备份时,它都会完全删除数据库应该备份到的目录,然后告诉我找不到该目录。

它会按原样备份到主目录和存档目录,没有问题,但不适用于数据库。

这是用于创建似乎导致目录被删除的转储的行:

mysqldump -username=root -password= --databases=bitbucket_server > ../bitbucket-backups-diy/bitbucket-database/bitbucket_server.sql

我已经用下面这行测试了上面一行的连接设置,并得到了我期望的数据库中的表列表:

mysql -D bitbucket_server -u root -p -e "show tables"

任何帮助将不胜感激,在此先感谢。

山姆

【问题讨论】:

  • 试试 $ls -l ../bitbucket-backups-diy/bitbucket-database/;如果您遇到错误,此目录不存在。使用 $mkdir -p ../bitbucket-backups-diy/bitbucket-database/ 创建它,然后再次执行 mysqldump
  • @BerndBuffen 谢谢,但这些都不起作用,两次目录都被删除,唯一一次我设法不删除目录是当我删除文件夹上所有用户的所有写权限时。但是它显然失败了,因为它无法将备份写入它。
  • 试试这个:cd(转到主目录)然后 mysqldump -username=root -password= --databases=bitbucket_server >./dump.sql
  • @BerndBuffen 稍作修改,我得到了 'mysqldump -uroot bitbucket_server >./dump.sql' 将数据库转储到主目录中

标签: mysql shell bitbucket bitbucket-server


【解决方案1】:

我已阻止 bash 文件删除目录,现在它将转储存储在其中。

感谢@BerndBuffen,我改变了转储访问我的数据库的方式。而不是使用:

mysqldump -username=root -password= --databases=bitbucket_server > ../bitbucket-backups-diy/bitbucket-database/bitbucket_server.sql

我现在使用:

mysqldump -uroot bitbucket_server > ../bitbucket-backups-diy/bitbucket-database/bitbucket_server.sql

您还需要将以下代码添加到mysqldump上面的行来创建文件夹:

mkdir -p ../bitbucket-backups-diy/bitbucket-database

因为我的根用户在我的本地数据库上没有密码,所以我不需要列出密码,这似乎是它失败的原因。因为当我将备份放到实时服务器上时,我只需要在脚本中添加 -p 即可。

希望这可以帮助其他遇到此问题的人。

山姆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-03
    • 2022-06-29
    • 1970-01-01
    • 2011-08-22
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多