一、备份与还原
/***************************样例表***************************/
CREATE DATABASE booksDB;
use 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);
/***************************样例表***************************/
1、使用mysqldump命令备份数据库中的所有表
2、备份booksDB数据库中的books表
3、使用mysqldump备份booksDB和test数据库
4、使用mysqldump备份服务器中的所有数据库
5、使用mysql命令还原第二题导出的book表
6、进入数据库使用source命令还原第二题导出的book表
Ⅰ
mysqldump -u root -p --all-databases > /backupDB/allDBbackup.sql
Enter password:
Ⅱ
mysqldump -u <username> -p <databasename> books > books_backup.sql
Ⅲ
mysqldump -u <username> -p --databases booksDB test > databases_backup.sql
Ⅳ
mysqldump -u <username> -p --all-databases > all_databases_backup.sql
Ⅴ
mysql -u <username> -p <databasename> < books_backup.sql
Ⅵ
source books_backup.sql;
备份数据库:
还原数据库:
总结: 备份和还原是MySQL数据库管理中至关重要的操作。备份可以通过使用mysqldump命令、物理备份或第三方工具来完成。还原可以使用mysql命令或将物理备份文件放回服务器的相应位置来完成。备份和还原的方法选择取决于具体需求和情况。在执行备份和还原操作之前,请确保理解操作的影响并遵循最佳实践,如定期备份、测试还原过程以及保护备份文件的安全性。
-
使用mysqldump命令备份:mysqldump是MySQL提供的一个用于备份数据库的命令行工具。通过运行
mysqldump
命令,可以将数据库的结构和数据导出到一个文件中。例如,可以使用以下命令备份一个数据库:mysqldump -u <username> -p <databasename> > backup.sql
-
<username>
是数据库用户名,<databasename>
是要备份的数据库名称。执行命令后,将提示输入密码,然后备份文件backup.sql
将包含数据库的结构和数据。 -
物理备份:物理备份是直接复制数据库文件的方式进行备份。可以停止MySQL服务器并将数据库文件复制到其他位置来完成备份。这种备份方法比较简单,但需要停止数据库的运行。
-
使用mysql命令还原:可以使用
mysql
命令行工具将备份文件中的数据导入到MySQL服务器中。例如,可以使用以下命令还原数据库: -
第三方工具:还有许多第三方工具可用于备份MySQL数据库。这些工具提供了更多的备份选项和自动化功能,可以根据需求选择适合的工具。
mysql -u <username> -p <databasename> < backup.sql
-
<username>
是数据库用户名,<databasename>
是要还原的数据库名称。执行命令后,将提示输入密码,并将备份文件backup.sql
中的数据导入到指定的数据库中。 -
导入物理备份:如果使用物理备份进行了数据库的完整复制,可以将复制的数据库文件直接放回MySQL服务器的相应位置,然后启动数据库服务器即可完成还原。