Mysql用得不多,今天遇到一个备份数据库的情况,竟然失败了。
后来终于在积极的研究下,得出一个简单的解决方案如下,未写主机名表示本机:
1、在DOS下,切换至mysql所在目录,比如一般是C:\Program Files\MySQL\MySQL Server 5.0\bin
2、备份:mysqldump -uroot -proot --opt hibernate_first |gzip -6 > filename.sql
3、还原:mysql -uroot -proot hibernate_first < filename.sql
ps:如果用EditPlus打开储存后的sql的话,要调成自动换行模式。
上面是具体的例子,通用形式如下:
1、备份
备份一个数据库
mysqldump -uxxxx -pxxxx -hhostname --opt dbname > filename.sql
2、恢复
恢复一个数据库
mysql -uxxxx -pxxxx dbname < filename.sql
总结如下:
1、不要试图在MYSQL的MySQL Command Line Client里面进行备份,因为据我所知,这个client其实调用的是
MYSQL所在目录下面的mysql.exe。所以我估计在mysql的黑框框里调用mysqldump应该是不成功的吧。
2、之所以要切换此至目录,是因为没有将Mysql所在目录放到环境变量中。
3、注意到,mysql的用户名密码是root、root,但是在执行命令时要在前面加上-u和-p.
4、-hhostname,我写的是-hip即, -h192.168.1.1;所以说写IP或者主机名都可以。
注意:在linux下,如果想备份时压缩,可以用 |gzip -6如下命令:
MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | gzip -6 > "$backup_dir/backup.0/$db.$time.sql.gz"
refUrl:1、http://www.51testing.com/?uid-59943-action-viewspace-itemid-92076
2、http://www.ychong.com/mysqldump-backup-mysql-database/
3、http://www.21andy.com/blog/20071102/655.html 可以连接局域网上的机器,不限于本机
4、http://www.tlbbjd.com/tlbb_6/2011-01-04_3.html 关于第5点 mysql部分,有还原mysql数据库的例子