我正在离开Linode,因为我没有必要的Linux系统管理员技能; 在我完成向更友好的noob友好服务的过渡之前,我需要下载MySQL数据库的内容.有没有办法可以从命令行执行此操作?
我想将每个mysql表转储到单独的文件中.手册指出了这个的语法
mysqldump [options] db_name [tbl_name ...]
Run Code Online (Sandbox Code Playgroud)
这表示您事先知道了表名.我现在可以设置知道每个表名的脚本,但是说我在路上添加一个新表并忘记更新转储脚本.然后我错过了一个或多个表的转储.
有没有办法将每个现有表自动转储到单独的文件中?或者我将不得不做一些剧本; 查询数据库,获取所有表名,并按名称转储它们.
如果我使用script-fu路由,哪些脚本语言可以访问mysql数据库?
我在crontab上班途中遇到了问题.我想自动化MySQL数据库备份.
设置:
从shell开始,这个命令有效
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
Run Code Online (Sandbox Code Playgroud)
当我使用crontab -e将它放在crontab中时
* * /usr/bin/mysqldump -u user -pupasswd mydatabase | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
在/ home/user/backup目录中每分钟创建一个文件,但是有0个字节.
但是,当我将此输出重定向到第二个目录backup2时,我注意到在其中创建了正确压缩的正确mysqldump文件.我无法确定我在第一个目录中的0字节文件和第二个目录中的预期输出导致的错误是什么.
* * /usr/bin/mysqldump -u user -pupasswd my-database | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/home/user/backup2/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz 2>&1
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的解释.
谢谢
我有一个包含一个数据库和大约150个表的大型SQL文件.我想mysqlimport用来导入该数据库,但是,我希望导入过程忽略或跳过几个表.导入所有表的正确语法是什么,但忽略其中一些?谢谢.
我有一个包含 100 个表的大数据库,我需要创建转储。98 表带数据和 2 表只有结构
像这样
mysqldump -u root -p {--no-data db.table99, table10 } dbname > dump.sql
Run Code Online (Sandbox Code Playgroud)
我怎么能用一个请求做到这一点?