数据库备份

111 阅读1分钟

数据备份

mysqldump (在终端执行)

mysqldump -u username -p dbname [tbname ...]> filename.sql

对上述语法参数说明如下:

  • username:表示用户名称;
  • dbname:表示需要备份的数据库名称;
  • tbname:表示数据库中需要备份的数据表,可以指定多个数据表。省略该参数时,会备份整个数据库;
  • 右箭头“>”:用来告诉 mysqldump 将备份数据表的定义和数据写入备份文件;
  • filename.sql:表示备份文件的名称,文件名前面可以加绝对路径。通常将数据库备份成一个后缀名为.sql的文件。

mysqldump备份时出现when using LOCK TABLES

加上-skip-lock-tables选项即可。

mysqldump -uxxx -pxxx --database <数据库名> --skip-lock-tables > new.sql

例子:

# 备份一个数据库
mysqldump -uroot -p test student>C:\student.sql

# 备份所有数据库
mysqldump -u username -P --all-databases>filename.sql

数据恢复

恢复数据库

mysql -u username -P [dbname] < filename.sql
  • dbname 表示数据库名称,该参数是可选参数。如果 filename.sql 文件为 mysqldump 命令创建的包含创建数据库语句的文件,则执行时不需要指定数据库名。如果指定的数据库名不存在将会报错;
  • filename.sql 表示备份文件的名称。

LOAD DATA INFILE语句(单表数据导入)

load data local infile '文件路径' into table 表名;

导入完成后会显示执行状态,如果表中存在主键约束或唯一性约束,则相同的数据会被跳过

SQL导入

# 设置编码
set names utf8;
# 在mysql命令行执行
source 文件路径;

www.cnblogs.com/51yuki/p/my… blog.csdn.net/Hehuyi_In/a…