数据备份与恢复

1.数据备份

(1)数据库备份是数据库管理员非常重要的工作之一。系统的意外奔溃或者是硬件的损坏将导致数据的丢失。因此MySQL数据库管理员应该定期的去备份数据库,是的在意外的情况发生的时候,尽可能的减少损失。

(2)使用MySQLdump命令备份数据库

    语法:mysqldump -u user -p password databasename [tablename....]>filename.sql;

说明:user表示用户名,password表示用户名的密码 ,databasename表示数据库用户名,tablename为需要备份的数据库的表的名称;可以指定多个需要备份的表,‘>’箭头表示将备份的数据表的定义和数据写入备份文件,filename.sql为备份文件的名称;

(3)使用mysqldump备份多个数据库表

语法:mysqldump -u root -p password --databases 数据库名称【需要备份的数据库的表的名称......】>指定的路劲名称+备份的文件名称;

2.数据恢复

(1)管理人员操作的失误,计算机故障以及其他的意外情况,都会导致数据库的丢失和破坏。当数据丢失或者是意外破坏的时候,可以通过恢复已经备份的数据尽量的减少数据丢失或破坏做造成的损失。

(2)使用MySQL命令恢复备份的数据

语法:mysql -u root -p databasename <filename.sql;

说明:(1)root是指定指定备份文件夹里面的数据库的用户名称,-p表示输入用户的密码;databasename表示数据库名称。当连接数据库服务器之后,我们也可以使用source +备份数据库文件路劲以及文件的名称;(2)在执行source命令之前首先需要使用use语句选择数据库,不然在恢复数据库的过程中将会出现错误;

3.数据库迁移

(1)数据库迁移就是把数据从一个系统移动到另一个系统上。

(2)数据库的迁移原因:需要安装新的数据库服务器、MySQL数据库服务器版本的更新、数据库管理系统的变更;

(3)相同版本之间数据库的迁移

    1>mysqldump -h 服务器1 -uroot -ppassword dbname | mysql -h 服务器2 -uroot -ppassword;

说明:MySQLdump导入的数据将直接通过管道符 | 传给MySQL命令主机数据库中,dbname为需要迁移的数据库的名称,如果需要迁移全部的数据库,可使用参数--all-databases。

 (4)不同版本数据库之间的迁移

因为数据库升级等原因,需要将较旧版本的数据库文件迁移到较新版本的数据库中。MySQL服务器升级时,需要先停止服务,然后卸载旧的版本,并安装新的数据库版本。在进行不同版本之间的数据库的迁移的时候,首先要了解不同数据库的架构,比较它们之间的差异。

4.表的导入和导出

(1)MySQL数据库导出数据时,允许使用包含导出定义的select语句进行数据的导出操作。改文件被创建到服务器上,因此必须拥有文件的写入权限,才能使用词语法。

语法:select columnlist from table where condition into outfile 'filename' option;

     option选项 fields terminated by 'value'

说明:select columnslist from  table where condition 为一个查询语句,查询结果返回满足指定条件的一条或者是多条记录,into outfile语句的作用就是把前面select语句查询出来的结果导出到名称为filename的外部文件中;

(2)例子:

select *from test.person into outfile "外部文件路径及文件的名称";(将test数据库中的person表中的记录导出到文本文件中去)

(3)使用mysql命令导出文本文件

语法:mysql -u root -p --execute="select 语句" dbname >filename.txt;

说明:使用--execute选项,表示执行该选项后面的语句并退出,后面的语句必须使用双引号括起来,dbname为要导出的数据库的名称,导出的文件中不同列之间使用制表分隔符,

例如:mysql -u root -p --execute =<"select * from person;"test> c:\person3.txt;(导出test数据库中person表中的记录到文本文件中);

使用mysql命令还可以显示查询结果的显示格式,如果某行记录字段很多,可能一行不能够全部显示,可以使用--vertical参数,将每条记录分为多行显示;

例如:

mysql -u root -p --vertical --execute=<"select * from person;"test> 文件路径及文件名称;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值