windows系统下mysql的备份及还原详解
admin
2023-05-15 10:42:15
0

本文主要给大家介绍windows系统下mysql的备份及还原详解,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。

windows mysql 备份与还原 

步骤1:使用mysqldump命令将suppliers表备份到文件C:\bktestdir\suppliers_bk.sql。
mysqldump -u root -p test suppliers > C:\bktestdir\suppliers_bk.sql

步骤2:使用mysql命令还原suppliers表到test数据库中
DELETE FROM suppliers;
source C:/bktestdir/suppliers_bk.sql;

步骤3:使用SELECT… INTO OUTFILE语句导出suppliers表中的记录,导出文件位于目录C:\bktestdir下,名称为suppliers_out.txt
SELECT * FROM test.suppliers INTO OUTFILE "C:/bktestdir/suppliers_out.txt"
  FIELDS
    TERMINATED BY ','
    ENCLOSED BY '\"'
  LINES
    STARTING BY '<'
    TERMINATED BY '>\r\n';

步骤4:使用LOAD DATA INFILE语句导入suppliers_out.txt数据到suppliers表。
LOAD DATA INFILE 'C:/bktestdir/suppliers_out.txt' INTO TABLE test.suppliers
  FIELDS
    TERMINATED BY ','
    ENCLOSED BY '\"'
  LINES
    STARTING BY '<'
    TERMINATED BY '>\r\n';

步骤5:使用musqldump命令将suppliers表中的记录导出到文件C:\bktestdir\suppliers_html.html。
mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html

windows系统下mysql的备份及还原详解linux  mysql 备份与还原
备份操作
(1)导出指定库中的部分表
mysqldump [选项] 库名 [表名1] [表名2] .... > /备份路径/备份文件名
(2)导出一个或多个完整的库(包括其中所有的表)
mysqldump [选项] --databases 库名 1  [库名 2] .... > /备份路径/备份文件名
(3)备份mysql 云服务器中的所有库
mysqldump [选项]--opt  --all-databases > /备份路径/备份文件名

还原操作
mysql [选项] [库名] [表名] < /备份路径/备份文件名

举例:

随便找一个数据库,创建张表插入数据

备份(-u 指定登录用户 -p 数据库名 表名)   备份名称
mysqldump -u root -p dingxue  student > dingxue.sql
Enter password:****

还原(还原表直接把表放到指定的数据库即可)
mysql -u root -p dingxue  < dingxue.sql



                                                       

/***************************样例表***************************/
CREATE DATABASE booksDB;
user booksDB;

CREATE TABLE books
(
  bk_id  INT NOT NULL PRIMARY KEY,
  bk_title VARCHAR(50) NOT NULL,
  copyright YEAR NOT NULL
);
INSERT INTO books
VALUES (11078, 'Learning MySQL', 2010),
(11033, 'Study Html', 2011),
(11035, 'How to use php', 2003),
(11072, 'Teach youself javascript', 2005),
(11028, 'Learing C++', 2005),
(11069, 'MySQL professional', 2009),
(11026, 'Guide to MySQL 5.5', 2008),
(11041, 'Inside VC++', 2011);

CREATE TABLE authors
(
  auth_id     INT NOT NULL PRIMARY KEY,
  auth_name  VARCHAR(20),
 auth_gender CHAR(1)
);
INSERT INTO authors 
VALUES (1001, 'WriterX' ,'f'),
(1002, 'WriterA' ,'f'),
(1003, 'WriterB' ,'m'),
(1004, 'WriterC' ,'f'),
(1011, 'WriterD' ,'f'),
(1012, 'WriterE' ,'m'),
(1013, 'WriterF' ,'m'),
(1014, 'WriterG' ,'f'),
(1015, 'WriterH' ,'f');

CREATE TABLE authorbook
(
  auth_id  INT NOT NULL,
  bk_id   INT NOT NULL,
  PRIMARY KEY (auth_id, bk_id),
  FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
  FOREIGN KEY (bk_id) REFERENCES books (bk_id)
);

INSERT INTO authorbook
VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
(1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);

/***************************样例表***************************/


【例14.1】使用mysqldump命令备份数据库中的所有表
mysqldump -u root -p booksdb > C:/backup/booksdb_20110101.sql

【例14.2】备份booksDB数据库中的books表
mysqldump -u root -p booksDB books > C:/backup/books_20110101.sql

【例14.3】使用mysqldump备份booksDB和test数据库
mysqldump -u root -p --databases  booksDB test> C:\backup\books_testDB_20110101.sql

【例14.4】使用mysqldump备份服务器中的所有数据库
mysqldump  -u root -p --all-databases > C:/backup/alldbinMySQL.sql

【例14.5】使用mysqlhotcopy备份test数据库到/usr/backup目录下
mysqlhotcopy  -u root -p test /usr/backup

【例14.6】使用mysql命令将C:\backup\booksdb_20110101.sql文件中的备份导入到数据库中
mysql -u root-p booksDB < C:/backup/booksdb_20110101.sql

【例14.7】使用root用户登录到服务器,然后使用souce导入本地的备份文件booksdb_20110101.sql
use booksdb;
source C:/backup/booksdb_20110101.sql

【例14.8】从mysqlhotcopy拷贝的备份恢复数据库
cp –R  /usr/backup/test usr/local/mysql/data

【例14.9】将www.abc.com主机上的MySQL数据库全部迁移到www.bcd.com主机上。在www.abc.com主机上执行的命令如下:
mysqldump -h www.bac.com -uroot -ppassword  dbname |
mysql -hwww.bcd.com -uroot -ppassword

【例14.10】使用SELECT...INTO OUTFILE将test数据库中的person表中的记录导出到文本文件
SELECT *  FROM test.person INTO OUTFILE "C:/person0.txt";

【例14.11】使用SELECT...INTO OUTFILE将test数据库中的person表中的记录导出到文本文件,使用FIELDS选项和LINES选项,要求字段之间使用逗号‘,’间隔,所有字段值用双引号括起来,定义转义字符定义为单引号‘\’’
SELECT * FROM test.person INTO OUTFILE "C:/person1.txt"
  FIELDS
    TERMINATED BY ','
    ENCLOSED BY '\"'
    ESCAPED BY '\''
  LINES
    TERMINATED BY '\r\n';

【例14.12】使用SELECT...INTO OUTFILE将test数据库中的person表中的记录导出到文本文件,使用LINES选项,要求每行记录以字符串“> ”开始,以“”字符串结尾
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
  LINES
    STARTING BY '> '
    TERMINATED BY '';

SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
  LINES
    STARTING BY '> '
    TERMINATED BY '\r\n';

【例14.13】使用mysqldump将test数据库中的person表中的记录导出到文本文件
mysqldump -T C:/ test person -u root -p

【例14.14】使用mysqldump命令将test数据库中的person表中的记录导出到文本文件,使用FIELDS选项,要求字段之间使用逗号‘,’间隔,所有字符类型字段值用双引号括起来,定义转义字符定义为问号‘?’,每行记录以回车换行符“\r\n”结尾
mysqldump -T C:\backup test person -u root -p --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=? --lines-terminated-by=\r\n

【例14.15】使用mysql语句导出test数据库中person表中的记录到文本文件
mysql -u root -p --execute="SELECT * FROM person;" test > C:\person3.txt

【例14.16】使用mysql命令导出test数据库中person表中的记录到文本文件,使用--vertical参数显示结果
mysql -u root -p --vertical --execute="SELECT * FROM person;" test > C:\person4.txt

【例14.17】使用mysql命令导出test数据库中person表中的记录到html文件
mysql -u root -p --html --execute="SELECT * FROM person;" test > C:\person5.html

【例14.18】使用mysql命令导出test数据库中person表中的记录到xml文件
mysql -u root -p --xml --execute="SELECT * FROM person;" test > C:\person6.xml

【例14.19】使用LOAD DATA命令将C:\person0.txt文件中的数据导入到test数据库中的person表
LOAD DATA  INFILE 'C:/person0.txt' INTO TABLE test.person;

【例14.20】使用LOAD DATA命令将C:\person1.txt文件中的数据导入到test数据库中的person表,使用FIELDS选项和LINES选项,要求字段之间使用逗号‘,’间隔,所有字段值用双引号括起来,定义转义字符定义为单引号‘\’’
LOAD DATA  INFILE 'C:/person1.txt' INTO TABLE test.person
  FIELDS
    TERMINATED BY ','
    ENCLOSED BY '\"'
    ESCAPED BY '\''
  LINES
    TERMINATED BY '\r\n';

【例14.21】使用mysqlimport命令将C:\backup目录下的person.txt文件内容导入到test数据库中,字段之间使用逗号‘,’间隔,字符类型字段值用双引号括起来,定义转义字符定义为问号‘?’,每行记录以回车换行符“\r\n”结尾
mysqlimport -u root -p test C:/backup/person.txt --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=? --lines-terminated-by=\r\n

看了以上windows系统下mysql的备份及还原详解介绍,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,大家可以继续关注行业资讯板块,会定期给大家更新行业新闻和知识,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

 


相关内容

热门资讯

德国总理,你这句话够狠 不得不说,德国总理默茨这句话,够狠够生猛。曾几何时,美欧是亲密的一家,很多西方国家孩子以去美国读书生...
中国U17男足力克沙特阿拉伯队... 2026年U17亚洲杯1/4决赛,中国U–17男足3比1力克东道主沙特阿拉伯U–17男足,晋级本届亚...
美联储:沃什正式就任前鲍威尔将... △凯文·沃什(资料图)当地时间5月15日,美联储发布声明称,在凯文·沃什正式宣誓就任美联储主席之前,...
联合国安理会审议叙利亚局势,中... 当地时间5月15日,安理会举行叙利亚问题公开会,聚焦该国政治和人道局势。中方代表指出,维护叙利亚形势...
特朗普在中国破例喝酒了?白宫回... 美国总统特朗普日前访华敬酒的画面在社交媒体广泛流传,许多人称,他这是破例了,因为他此前滴酒不沾。白宫...
英国绿党领袖:部长们应该做正确... 据凤凰卫视报道,英国工党首相斯塔默仍然面临严峻的党内逼宫压力。当地媒体指,超过半数工党下院议员希望他...
全民围观某君半蹲合影:我们崇拜... 马斯克打卡点:半蹲的不是膝盖,是整个科技行业的想象力 ——当某君半蹲合影、库克排队等待,科技大佬们的...
深圳第二类医疗器械备案所需材料... 办理深圳第二类医疗器械经营备案,最耗时间的就是材料准备。很多企业因为资料漏项、盖章错误、扫描模糊、填...
直击杭州人形机器人展:文旅物流... 《科创板日报》5月15日讯(记者 王耐)2026年第二届杭州国际人形机器人展,有600家上下游企业参...
“前半生是恶霸,后半生是学霸”... 一个人的逆袭叫传奇。一群人的集体转行,叫世道变了。文|张雪莹出品|Vista天下知识局提到日本黑帮,...