mysql的数据备份和恢复

一,数据备份
  • 使用mysqldump命令备份
        mysqldump是mysql提供的一个很有用的数据库备份工具。mysqldump执行时,可以将数据库备份成一个文本文件,该文件中实际包括了多个create和insert语句,
       使用这些语句 可以重新创建表和插入语句。
  • mysqldump的语法:
       mysqldump -u user -h host -ppassword dbname [tbname,[tbname...]]>filename.sql
       user表示用户名称;host表示登录用户的主机名称;password为登录密码;dbname为要备份的数据库名称;tbname为dbname数据库中需要备份的数据表,可以指定
       多个需要备份的表;右箭头符号“>”告诉 mysqldump将备份数据表的定义和数据写入备份文件;filename.sql为备份文件的名称。
  • 使用文件查看器,打开备份文件:more filename.sql
       文件开头,使用了set语句,把系统变量的值赋给用户自定义变量,以确保恢复数据时,系统变量和原来备份时的变量相同;文件的开头和结尾的set语句刚好相反的操作。
       备份文件中的“--”字符开头的行为注释语句;以“/*!”开头、以“*/”结尾的语句为可执行mysql注释,这些语句可以被mysql执行,在其他数据库是被注释掉的, 
        这样做提高了数据库的可移植性。
        还有一些语句以数字开头,这个数字是版本号,说明这些语句只能用指定版本或比该版本高的情况下才能执行。如:40101是4.01.01版本。
  • 备份多个表的时候,使用逗号隔开表名。
  • 备份多个数据库的时候,使用参数--databases
         语法:mysqldump -u user -h host -p --databases [dbname,[dbname...]]>filename.sql
         使用--databases参数之后,必须指定至少一个数据库的名称,多个数据库的时候使用空格隔开。
  •  备份所有的数据库,使用参数--all-databases,使用该参数的时候不要添加数据库名字。
  • 备份之前:flush tables with read locl;


二,数据恢复
  • 使用mysql命令恢复
          语法:mysql -u username -p  [dbname] < filename.sql
  • 使用source命令导入数据
          登录到mysql中,选中数据库,用source  需要导入的数据库文件(绝对路径)。
      注意:使用mysqldump备份整个数据库成功,把表和数据库都删除了,但是使用备份文件却不能恢复文件。
                原因:出现这种情况,是因为备份的时候没有指定--databases参数。默认情况下,如果只指定了数据库名称,mysqldump备份的是数据库中的所有表,
                而不包含数据库的创建语句,所以需要先创建数据库,然后在恢复。

三,数据库迁移
  •  相同版本的mysql数据库之间迁移
           如:从abc.com迁移到bcd.com主机上。
           mysqldump -h abc.com -u user -ppassword dbname | mysql -h bcd.com -u root -ppassword 
            mysqldump 导入数据直接通过管道符“|”,传给mysql命令倒入主机bcd.com数据库中,dbname为需要迁移的数据库名称,如果要迁移全部的数据库,可以使用
          --all-databases。
  • 不同版本的mysql数据库之间的迁移
           字符集可能不相同,需要更改字符集
  • 不同数据库之间迁移
           不同数据库的架构不一样,需要充分了解架构在迁移。如:mysql充分支持sql语句,但是windows server sql 是支持T-sql的。
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值