且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用mysqldump工具备份还原Mysql数据库实例及参数详细说明

更新时间:2022-06-30 10:31:01

MySQL命令行功能非常强大,甚至可以进行数据库的备份,下面为您介绍的MySQL命令行就用于备份数据库,希望对您有所帮助。

注意,mysqldump命令在DOS的 mysql\bin 目录下执行,不能在mysql环境下执行,因此,不能以分号“;”结尾。若已登录mysql,请运行退出命令mysql> exit

1.MySQL命令行导出整个数据库

导出文件默认是存在mysql\bin目录下

mysqldump -u用户名 -p密码 数据库名 > 导出的文件名

mysqldump -uroot -p123456 database_name > outfile_name.sql

2.MySQL命令行导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u user_name -p database_name table_name > outfile_name.sql

3.MySQL命令行导出一个数据库结构

mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.带语言参数导出

mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

导入数据库,常用source 命令

#进入mysql数据库控制台,mysql -u root -pmysql>use 数据库mysql>set names utf8; (先确认编码,如果不设置可能会出现乱码,注意不是UTF-8) #然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:\wcnc_db.sql



参考文献:

http://www.cr173.com/html/18961_1.html

http://database.51cto.com/art/201010/229531.htm


如果mysqldump备份数据库时出现when using LOCK TABLES



用mysqldump备份数据库时,如果出现when using LOCK TABLES,解决办法是加上 --skip-lock-tables


例如:

用mysqldump备份数据库时出现

29: File './sq_ziyou/uc_applications.MYD'not found (Errcode: 24) when using LOCKTABLES

在数据库名后加--skip-lock-tables即可。

即备份数据库命令为:

/命令目录/mysqldump -u 用户名 -p 数据库名称 --skip-lock-tables > ***.sql

或者


/命令目录/mysqldump -u 用户名 -p --skip-lock-tables 数据库名称> ***.sql

或者

导出 mysqldump

/命令目录/mysqldump -h 线上数据库IP -P 线上数据库端口 -u 用户名 -p --skip-lock-tables 数据库名称>db.sql



如果还提示某表被损坏了,需要先修复,

那么就直接复制data目录(一般如果数据库已经损坏都无法通过mysqldump备份了)










本文转自 艺晨光 51CTO博客,原文链接:http://blog.51cto.com/ycgit/1408610,如需转载请自行联系原作者