最近需要给自己的电脑重装系统,需要把之前系统中mysql的数据库备份迁移到新的系统中,我就把我操作的过程写了下来。觉得我写的不好可以直接看我的参考网站。
参考网站:
https://www.cnblogs.com/kissdodog/p/4174421.html
http://www.mamicode.com/info-detail-1721779.html
我使用的是mysqldump命令备份数据库,mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。
mysqldump备份基本语法:
mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname参数表示数据库的名称;
table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
示例:
mysqldump -u root -p wenwu > D:\backup.sql
root用户 wenwu数据库 备份文件保存至D盘
若提示mysqldump不是内部或外部命令,也不是可运行的程序,是因为该命令没有添加至环境变量中,找不到该命令,由于这个命令也很少用到,也就不添加环境变量了。我只需要进入Mysql的安装目录下,比如我的是C:\Program Files\MySQL\MySQL Server 5.6\bin,我们可以看到这个目录下有mysqldump。.exe这个文件。我们再执行此命令就可以了。
数据还原:
数据还原之前还需要先在mysql中建立要恢复的数据库,并且需要使用相同的默认字符集
create database wenwu charset=utf8;
1、还原使用mysql命令还原的数据库的语法如下:
mysql -u root -p [dbname] < backup.sql
示例: root用户 数据库名称为wenwu
mysql -u root -p wenwu < D:\backup.sql
我在mysql导入时出现"ERROR at line : Unknown command '''."的错误,原因是导出时字符集的问题。解决方法是设置默认的字符集。再命令中添加--default-character-set=utf8
mysql -u root -p --default-character-set=utf8 wenwu < C:\backup.sql