2022年11月14日星期一

MySQL数据库数据导出

数据库的安装: 安装mariadb数据库

数据库其他操作:

一、导出命令

  1. 导出所有数据库:
mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
  1. 导出数据和数据结构:
mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
mysqldump -u root -p test>d:\test.sql
mysql -hlocalhost -u root -p databasename > databasename.sql;

注意:此备份只备份数据和数据结构,没有备份存储过程和触发器

  1. 只导出数据不导出数据结构:
mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]
  1. 导出数据库结构(不包括数据,只有创建数据表语句):
mysql -hlocalhost -u root -p databasename -d databaseename > databasename.sql
  1. 导出数据库中的Events
mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]
  1. 导出数据库中的存储过程和函数
mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]
  1. 附件继续补充

二、操作步骤:

  • 进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
  • 导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  • 会看到文件news.sql自动生成到bin文件下

数据库数据导入

  1. 将SQL脚本导入执行
mysql -u用户名 -p 数据库名 < 数据库名.sql
mysql -uabc_f -p abc < abc.sql
  1. 直接拷贝
  • 2.1 解压
    在临时目录中解压
cd /tmp
tar zxf mydb.tar.gz
  • 2.2 拷贝
    将解压后的数据库文件拷贝到相关目录
cd mydb/
cp * /var/lib/mysql/mydb/
  • 2.3 将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*

操作步骤:

  • 在命令窗口输入mysql -hlocalhost -u root -p,
  • 接着输入show databases;
  • 接着输入:use db;
  • 然后执行source D:\db.sql(sql文件路径根据自己的实际情况)即可成功导入sql文件。

MySQL数据库备份和还原

  1. 备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
  1. 备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump ---add-drop-table -uusername -ppassword databasename > backupfile.sql
  1. 直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
  1. 备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
  1. 同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql
  1. 仅仅备份数据库结构
mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackupfile.sql
  1. 备份服务器上所有数据库
mysqldump --all-databases  allbackupfile.sql
  1. 还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
  1. 还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
  1. 将数据库转移到新服务器
mysqldump \-uusername \-ppassword databasename \| mysql \--host=*.*.*.\* \-C databasename

压缩备份

  1. 备份并用gzip压缩:
mysqldump < mysqldump options> | gzip > outputfile.sql.gz
  1. 从gzip备份恢复:
gunzip < outputfile.sql.gz | mysql < mysql options>
  1. 备份并用bzip压缩:
mysqldump < mysqldump options> | bzip2 > outputfile.sql.bz2
  1. 从bzip2备份恢复:
bunzip2 < outputfile.sql.bz2 | mysql < mysql options>

附件

1、导出所有库

mysqldump -uusername -ppassword --all-databases > all.sql

2、导入所有库

mysql>source all.sql;

3、导出某些库

mysqldump -uusername -ppassword --databases db1 db2 > db1db2.sql

4、导入某些库

mysql>source db1db2.sql;

5、导入某个库

mysql -uusername -ppassword db1 < db1.sql;
mysql>source db1.sql;

6、导出某些数据表

mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql

7、导入某些数据表

mysql -uusername -ppassword db1 < tb1tb2.sql
mysql>
user db1;
source tb1tb2.sql;

8、mysqldump字符集设置

mysqldump -uusername -ppassword --default-character-set=gb2312 db1 table1 > tb1.sql