mysql中的dump命令用法

mysqldump-uc-pd-Rdb_temp>/db_temp.txt

u--用户名

p--密码

R--导出存储过程(默认不导出)

本回答由提问者推荐

mysql无法使用mysqldump命令

mysqldump不是sql语句,mysqldump是mysql用于转存储数据库的实用程序。

所以是在shell中执行的。你是不是将它写在SQL中了。

使用mysqldump备份数据库

使用脚本每天定期执行数据库备份操作,对每个使用mysql数据库的人来说都很有必要,这样的脚本网上有很多,这里摘抄一个朋友的脚本 dbbackup:

这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。

dbbackup代码:

#!/bin/bash

#This is a Shellscript For Auto DB Backup

#Powered by aspbiz

#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式

#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy

#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=

BackupPath=/root/

LogFile=/root/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#Setting End

NewFile="$BackupPath"db$(date +%y%m%d).tgz

DumpFile="$BackupPath"db$(date +%y%m%d)

OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz

echo "-------------------------------------------" >> $LogFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile

echo "--------------------------" >> $LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >> $LogFile 2>&1

echo "[$OldFile]Delete Old File Success!" >> $LogFile

else

echo "[$OldFile]No Old Backup File!" >> $LogFile

if [ -f $NewFile ]

then

echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile

else

case $BackupMethod in

mysqldump)

if [ -z $DBPasswd ]

then

mysqldump -u $DBUser --opt $DBName > $DumpFile

else

mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile

tar czvf $NewFile $DumpFile >> $LogFile 2>&1

echo "[$NewFile]Backup Success!" >> $LogFile

rm -rf $DumpFile

mysqlhotcopy)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1

else

mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

tar czvf $NewFile $DumpFile >> $LogFile 2>&1

echo "[$NewFile]Backup Success!" >> $LogFile

rm -rf $DumpFile

/etc/init.d/mysqld stop >/dev/null 2>&1

tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1

/etc/init.d/mysqld start >/dev/null 2>&1

echo "[$NewFile]Backup Success!" >> $LogFile

esac

echo "-------------------------------------------" >> $LogFile

放入crontab定期执行dbbackup

假定dbbackup在/root目录下。我们通过使用crontab命令,设置每天0点10分执行/root/dbbakup脚本。

1、 使用 crontab –e 编辑crontab

2、 在crontab中加入:

#back for jabber database

10 0 * * * /root/dbbackup最后怎么又有-u -p了?运行cmd

在mysql安装目录的bin文件夹下

mysqldump -u 用户名 --password 密码 myftw>d:\myftw.sql

这样就行了

如何使用mysqldump

在linux命令行下执行的命令,不用进入mysql。

最常用的一条:比如我要把test数据库导出:

mysqldump -uroot -p --databases test >test.sql

你在哪个目录下输入此命令,就默认导出在那个目录下。

不过我建议最好还是加上具体目录:如

mysqldump -uroot -p --databases test > /home/test.sql

也可以加上 --master-data=2,意思为在导出的sql文件中记录 该备份行为的日志文件名和日志文件位置。

更多资料参考mysql手册。mysqldump要在命令行里执行。一般正确安装mysql以后,mysqldump所在的路径就被加入系统环境变量里边了,直接在命令行里就可以执行了。

你可以在cmd里运行

mysqldump --help

查看具体用法

当然如果要用,最好还是找本专业的书或者文章看一看。

比较简单的用法是

mysqldump -u用户名 -p密码 数据库名 >dump文件的路径和名称

“用户名”、“密码”、 “数据库名”、 “dump文件的路径和名称”按实际的填写。