红联Linux门户
Linux帮助

MySQL数据库及表的备份与还原

发布时间:2015-09-22 10:23:04来源:linux网站作者:咿儿哟

备份

导出数据库所有表结构

mysqldump -uroot -ppassword -d dbname > db.sql

导出数据库某个表结构

mysqldump -uroot -ppassword -d dbname tablename > db.sql

导出数据库所有表结构及数据

mysqldump -uroot -ppassword dbname > db.sql

导出数据库某个表结构及数据

mysqldump -uroot -ppassword dbname tablename > db.sql

导出部分数据

--where="条件"
mysqldump -uroot -ppassword dbname tablename -w "条件" > db.sql

-w或–where,条件一定要用双引号包围,单引号不行。


注意
导出数据不需要-d
可能会出现如下错误

mysqldump: Got error 1044: Access denied for use ‘zndw’@’localhost’ to database ‘scilibrary’ when doing LOCK TABLES

出现这个错误的原因是该用户无lock tables权限。

解决办法
(1) 给该用户赋予lock tables权限
(2) 加上--skip-lock-tables,如

mysqldump -uroot -ppassword dbname --skip-lock-tables > db.sql


导入

导入整个数据库文件

source xxx.sql

(1) 语句后面不能有分号;
(2) 用户要有insert等权限

把表导入指定数据库

mysql -uxxx -pxxx dbname < xxx.sql


在Linux中怎样将MySQL迁移到MariaDB上:http://www.linuxdiyf.com/linux/14127.html

常用数据库备份还原命令:http://www.linuxdiyf.com/linux/13658.html

Mydumper-MySQL数据库备份工具:http://www.linuxdiyf.com/linux/11684.html