windows mysql 备份与还原 javascript
步骤1:使用mysqldump命令将suppliers表备份到文件C:\bktestdir\suppliers_bk.sql。
mysqldump -u root -p test suppliers > C:\bktestdir\suppliers_bk.sqlphp
步骤2:使用mysql命令还原suppliers表到test数据库中
DELETE FROM suppliers;
source C:/bktestdir/suppliers_bk.sql;html
步骤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';java
步骤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';mysql
步骤5:使用musqldump命令将suppliers表中的记录导出到文件C:\bktestdir\suppliers_html.html。
mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.htmllinux
linux mysql 备份与还原
备份操做
(1)导出指定库中的部分表
mysqldump [选项] 库名 [表名1] [表名2] .... > /备份路径/备份文件名
(2)导出一个或多个完整的库(包括其中全部的表)
mysqldump [选项] --databases 库名 1 [库名 2] .... > /备份路径/备份文件名
(3)备份mysql 服务器中的全部库
mysqldump [选项]--opt --all-databases > /备份路径/备份文件名sql
还原操做
mysql [选项] [库名] [表名] < /备份路径/备份文件名数据库
举例:windows
随便找一个数据库,建立张表插入数据服务器
备份(-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选项,要求每行记录以字符串“> ”开始,以“<end>”字符串结尾
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '<end>';
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '<end>\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