标签: mysqldump

在 mysqldump 命令中转义密码

我正在使用这个;

mysqldump -u userabc -pabc123 dbname | 
  gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud)

这有效,但如果密码包含^例如它失败,我如何转义这个字符并仍然可以mysqldump使用-p标志;

mysqldump -u userabc -pabc^123 dbname | 
  gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud)

mysql passwords mysqldump

1
推荐指数
1
解决办法
1596
查看次数

如何限制目录以在其中保留一定数量的文件

我每天都在转储一个 mysql wordpress 数据库作为备份。因为我不想在一年后得到 365 个 .sql 文件,所以我认为只保留过去 30 天的转储文件是不错的。始终保留最后 30 个并自动删除旧的,每天一个。

我希望在 bash 中对此进行编程,作为 cron 工作的一部分。所以我已经有了转储并将文件发送到备份服务器的部分。我只需要添加计数并每天删除最旧的一个片段。

这是我得到的(用户名和 pswd 保存在 .my.cnf 文件中):

now=$(date +'%m-%d-%y')
mysqldump -h mysql.server.com my_database | gzip -9 > ${home}/dbBackups/db_backup.sql.gz
mv ${home}/dbBackups/db_backup.sql.gz ${home}/dbBackups/${now}_db_backup.sql.gz
scp ${home}/dbBackups/${now}_db_backup.sql.gz backup_user@backup.server.com:/home/backup_user/backup.server.com/dbBackups/
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何实现这个功能?

bash shell mysqldump database-backups mysql-backup

1
推荐指数
1
解决办法
1481
查看次数

MySQL之间的同步2分贝

我目前正在寻找一种快速方法来同步我的生产数据库和我的dev-db.

我想用这样的东西做这件事:

mysqladmin -u <user> -p<password> <dev-db_name> | mysqldump -u <user> -p<password> --databases <production-db-name> --add-drop-table
Run Code Online (Sandbox Code Playgroud)

但它似乎只是打印屏幕上的所有drump而不是将它管道到mysqladmin util.是否有任何建议可以改善这一点?

mysql linux mysqldump

0
推荐指数
1
解决办法
176
查看次数

MySQLdump导致许多评论行,没有真正的内容

我正在尝试编写一个PHP程序,以自动创建MySQL表的备份作为服务器上的sql文件:


$backup = "$path/$tablename.sql";
$table = "mydbname.mytablename";

exec(
  sprintf(
    '/usr/bin/mysqldump --host=%s --user=%s --password=%s %s --quick --lock-tables --add-drop-table > %s',
    $host,
    $user,
    $password,
    $table,
    $backup
  )
);

我得到的.sql文件中的所有内容都是这样的:

-- MySQL dump 10.10
--
-- Host: localhost    Database: mydbname.mytablename
-- ------------------------------------------------------
-- Server version   5.0.27

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, …

php mysql backup file mysqldump

0
推荐指数
1
解决办法
1210
查看次数

PHP显示要在mysql_fetch_array函数中使用的数组的所有值?

我在使用PHP数组中的值进行mysql函数时遇到了一些困难.

我有一个阵列,

$a[0] = 89
$a[1] = 23
$a[2] = 15
$a[3] = 28
$a[4] = ...
Run Code Online (Sandbox Code Playgroud)

我需要像这样生成一个字符串:

$result_array = 'ID = 89 OR ID = 23 OR ID = 15 OR ID = 28 OR ID = ...';
Run Code Online (Sandbox Code Playgroud)

要从我的数据库中获取值:

$result_test = mysql_query("SELECT * FROM Events Where $result_array");
Run Code Online (Sandbox Code Playgroud)

但我不知道如何从数组$ a创建字符串$ result_array.

php mysql arrays mysqldump

0
推荐指数
1
解决办法
457
查看次数

每次我尝试导入Drupal数据库时,MySQL服务器就消失了

我正在尝试使用现有网站在我的PC中构建开发环境.我复制了所有数据并导出Drupal DB,而不是缓存*和监视程序表,以使脚本变得很小.当我尝试导入大约12MB的脚本时,我得到"MySQL服务器消失"错误,不知道为什么或如何解决它.我试过从phpMyAdmin,从服务器中的MySQL命令行等等.有帮助吗?

提前致谢

php mysql drupal mysqldump

0
推荐指数
1
解决办法
632
查看次数

自动转储information_schema

我正在寻找一种备份MySQL上所有数据库的方法.我写了一个运行mysqldump的批处理文件,它工作正常.不幸的是我使用MySQL 5.0并且无法升级到包含mysqldump中的information_schema的较新版本.

任何人都可以让我知道我应该如何转储这个数据库?我在过去的8个小时里一直在努力,但是无法让它发挥作用!

希望有人能提供帮助.

干杯

亚历克斯

mysql mysqldump information-schema

0
推荐指数
1
解决办法
2435
查看次数

mysql从一台服务器转储200DB~40GB到另一台服务器

我最有效的方法是导出200个数据库,总共40GB的数据,并将它们导入另一个服务器?我原本计划运行一个脚本,将每个数据库导出到自己的sql文件,然后将它们导入新服务器.如果这是最好的方法,是否有一些额外的标志,我可以传递给mysqldump,将加快它?

我看到的另一个选项是直接通过SSH将mysqldump传递给导入.这会是一个更好的选择吗?如果是这样,你能提供一些关于脚本可能是什么样子的信息吗?

mysql linux ssh mysqldump

0
推荐指数
1
解决办法
2524
查看次数

在远程服务器上尝试mysqldump到csv时无法创建文件

所以我有一个运行批处理脚本的批处理服务器.此脚本为我们的数据库服务器发出mysqldump命令.

 mysqldump -h nnn.nn.nnn.nn -u username -p password --tab=/var/batchfiles/ --fields-enclosed-by='"' --fields-terminated-by="," --fields-escaped-by="\\" --lines-terminated-by="\\n" store_locations stores 
Run Code Online (Sandbox Code Playgroud)

当命令运行时,我收到一个错误:

Can't create/write to file '/var/mi6/batch/stores.txt' (Errcode: 2) when executing 'SELECT INTO OUTFILE'
Run Code Online (Sandbox Code Playgroud)

现在我已经尝试按照http://techtots.blogspot.com/2011/12/using-mysqldump-to-export-csv-file.html的建议输出到/ tmp目录,它仍然无法写入文件因为它告诉我它已经存在,即使它没有.

最重要的是,我希望能够在服务器A上运行一个脚本,该脚本为数据库服务器发出mysql命令,并将该输出文件以csv格式保存到服务器A.

仅供参考,我也试过运行mysql并将输出重定向到文件.这会创建一个标签文件但你没有太多的输出控制权,所以它也不会真正起作用.

mysql csv bash mysqldump batch-file

0
推荐指数
1
解决办法
3029
查看次数

perl中的mysqldump - 返回值为allways 0

当我在perl中执行以下操作时,我总是得到错误代码"0".即使例如mysql数据库不存在,或密码错误等.

@args = ("mysqldump -u root -ppassword database1 | gzip -c > /usr/local/bin/database.gzip");
system(@args) == 0
        or die "Command failed: @args \nError Code: $? \n";
Run Code Online (Sandbox Code Playgroud)

我的目标是捕获mysqldump命令的任何错误,因此我可以确保备份是否成功.

mysql backup ubuntu perl mysqldump

0
推荐指数
1
解决办法
635
查看次数