数据的备份与还原:
- 在操作数据库时,难免会发生一些意外造成数据丢失。如:突然停电、管理员的操作失误都可能导致数据的丢失。为了确保数据的安全,需要定期对数据库进行备份,这样,当遇到数据库中的数据丢失或者出错的情况,就可以将数据进行还原,从而最大限度地降低损失。
- 为了保证数据的安全,需要定期对数据进行备份。备份的方法有很多种,效果也不一样。如果数据库中的数据出现了错误,就需要使用备份好的数据进行数据还原。这样可以将损失降至最低。而且,可能还会涉及到数据库之间的数据导入和导出。
数据的备份:
- 备份数据是数据库管理中最常用的操作。为了保证数据库中数据的安全,数据库管理员需要定期的进行数据库备份。一旦数据库遭到破坏,即通过备份的文件来还原数据库。因此,数据备份是很重要的工作。
- mysqldump命令可以备份单个数据库、多个数据库和所有数据库。该命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
该命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个create语句。然后,将表中的所有记录转换成一条insert语句。这些create语句和insert语句都是还原时使用的。还原数据时就可以使用其中的create语句来创建表,使用insert语句来还原数据。
备份单个数据库:
- mysqldump -h 127.0.0.1 -u username -ppassword dbname [taname1 tbname2…] > filename.sql
- -u后面的参数username表示用户名
- -p后面的参数password表示登录密码,注意-p和密码之间不能有空格,否则会认为空格也是密码的一部分。
- dbname表示需要备份的数据库名称。
- tbname表示数据库中的表名,可以指定一个或多个表,多个表名之间用空格分隔,如果不指定则备份整个数据库。
- filename.sql表示备份文件的名称,文件名前可以加上绝对路径。
- 注意:在使用mysqldump命令备份数据库时,直接在dos命令行窗口中执行该命令即可,不需要登录到mysql数据库。
备份多个数据库:
- mysqldump -h 127.0.0.1 -u username -ppassword --database dbname1 [dbname2 dbname3…] > filename.sql
- –database参数后面至少指定一个数据库名称,如果有多个数据库,则名称之间用空格隔开。
备份所有数据库:
- mysqldump -h 127.0.0.1 -u username -ppassword --all-databases > filename.sql
- –all-databases参数备份了所有的数据库,那么在还原数据库时,不需要创建数据库并指定要操作的数据库,因为对应的备份文件中包含crate database语句和use语句。
- 使用—all-databases选项就可备份所有数据库了。
数据的还原:
还原一个数据库:
- mysql -h 127.0.0.1 -u username -ppassword [dbname] < filename.sql
- username表示登录的用户名。
- password表示用户的密码。
- dbname表示要还原的数据库名称,如果使用mysqldump命令备份的filename.sql文件中包含创建数据库的语句,则不需要指定数据库。
- 注意:数据库中的库是不能被还原的,因此在还原数据之前必须先创建数据库,因为备份的文件中并没有创建数据库的语句。
这种还原方式只是其中的一种,还可以登录到mysql数据库中,使用source命令还原数据,source命令还原数据的语法格式如下:
source path/***.sql
还原多个数据库:
- mysql -h 127.0.0.1 -u username -ppassword < filename.sql
- 可以指定数据库名,也可以不指定,指定数据库名时,表示还原该数据库下的表。不指定数据库名时,还原的是备份文件中所有的数据。
- 注意:如果使用—all-databases参数备份了所有数据库。那么还原时不需要指定数据库。因为,其对应的sql文件包含有create databases语句。可以通过该语句创建数据库。创建数据库之后,可以执行sql文件中的use语句数据库,然后在数据库中创建表并且插入记录。
用文本方式将数据库装入一个数据库表
- 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。
- 我们先在数据库中创建一个表:
create table chengjibiao(stu_id varchar(20),stu_name varchar(20),stu_yuwen int(3),stu_shuxue int(3));
- 也可以在excel表中作好数据后,------文件-----另存为,其格式选为:文本文件(制表符分隔)(*.txt)格式的就可以了。
- 如果数据库的编码是utf-8话,但文本文件的默认编码是ANSI的,所以打开文本文件进行修改如下:
- 在另存为的时候,将其进行修改成:
- 此文件要保存在mysql数据库的安装文件目录里的bin文件夹中。
- 使用下面命令将文本文件“mytable.txt”装载到mytable表中:
load data local infile 'mysql-chengjibiao.txt'into table chengjibiao;
source 命令(使用此命令导入数据)
- stock_db.sql文件的代码如下:
- 进入mysql数据库控制台,
- 如mysql -u root -p
- mysql>use 数据库
- 然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
- mysql>source d:\stock_db.sql
版权声明:本文为Learn_and原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。