Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说数据库——数据库备份与恢复[通俗易懂],希望能够帮助你!!!。
目录
原因:
数据库的备份与恢复:
1、使用MySQLdump命令备份
2、恢复数据库
表的导入和导出
1、表的导出
2、表的导入
原因:
尽管采取了一些管理措施来保证数据库的安全,但是不确定的意外情况总是有可能造成数据的损失,例 如意外的停电、管理员不小心的操作失误都 可能会造成数据的丢失。保证数据安全最重要的一个措施是 确保对数据进行 定期备份。如果数据库中的数据丢失或者出现错误,可以使用备份的数据进行恢复,这 样就尽可能地降低了意外原因导致的损失。
数据备份是数据库管理员非常重要的工作之一。系统意外崩溃或者硬件的损坏都可能导致数据库的丢失,因此MySQL
管理员应该定期地备份数据库,使得在意外情况发生时,尽可能减少损失
.
数据库的备份与恢复:
1、使用MySQLdump命令备份
MySQLdump
是
MySQL
提供的一个非常有用的数据库备份工具。
MySQLdump
命令执行时,可以将数据库备份成一个文本文件,该文件中实际包含了多个CREATE
和
INSERT
语句,使用这些语句可以重新创建 表和插入数据 再改路径下输入cmd
说明:
-u
用户名
-h
主机,如果是本机省略
-p
test
要备份的库
还可以使用改命令备份某个表
多个表直接用空格隔开
可以备份多个数据库,加入参数
--databases
多个库之间用空格隔开
2、恢复数据库
如果像之前导入某个库下的表,此时生成的
sql
语句中不存在创建库的语句,需要自己创建库或是登录的 到改库下再导入备份的语句。
表的导入和导出
MySQL
数据库导出数据时,允许使用包含导出定义的
SELECT
语句进行 数据的导出操作。该文件被创建
到服务器主机上,因此必须拥有文件写入权 限(
FILE
权限)才能使用此语法
这是因为MySQL默认对导出的目录有权限限制,也就是说使用命令行进行导出的时候,需要指定目录进行操作。那么指定的目录是什么呢?
找到my.ini文件
添加
secure-file-priv=D:/
然后以管理员身份运行
cmd
重新启动
mysql
net stop mysql
net start mysql
SHOW GLOBAL VARIABLES
LIKE
'%secure%'
1、表的导出
SELECT * FROM books INTO OUTFILE 'D:/bf/books.txt'
SELECT * FROM books INTO OUTFILE 'D:/bf/books.html'
除此以外,我们还可以使用以下命令来导出【黑窗口】
也可以导出为
html
mysql -u root -p --execute="select * from books;" test>D://bf//books.txt
也可以导出为
html
mysql -u root -p --html --execute="select * from books;" test>D://bf//books.html
或者是
xml
的方式
mysql -u root -p --xml --execute="select * from books;" test>D://bf//books.xml
2、表的导入
LOAD DATA INFILE 'D:/bf/books.html' INTO TABLE test.books;