码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据备份

时间:2018-05-01 23:56:20      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:技术   文件中   stat   style   from   直接   sele   新版   field   

  1. 物理备份:直接复制数据库文件,适用于大型数据库环境(如数据文件、控制文件、归档日志文件等)。但不能恢复到异构系统中如Windows。
  2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
  3. 导出表:将表导入到文本文件中。----->一条条插入记录的操作
技术分享图片
#语法:
# mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
当你是本地登录的时候这个-h可以不写,当其他用户登录时,就得写上-h 服务器


#示例:
1.单库备份
mysqldump -uroot -p123456 day47 > E:\\day47.sql
mysqldump -uroot -p123456 test class employee department > E:\\test-c-e.sql
2.多库备份
mysqldump -uroot -p123456 --databases test db2 zuoye > E:\\dbzzz.sql
3.备份所有库
mysqldump -uroot -p123456 --all-databases > E://all.sql
使用mysqldump实现逻辑备份
技术分享图片
方法1.在没有登录进去之前恢复
C:\Users\Administrator>mysql -uroot -p123456 test < day47.sql
drop database day47;
drop database test;
create database day47;
create database test;
mysql -uroot -p123456 day47 < day47.sql
mysql -uroot -p123456 test < day47.sql  #也可以在自己新建的空数据库里添加你备份的库
方法2.mysql登录进去后恢复
mysql> use db1;
mysql> SET SQL_LOG_BIN=0;  #设置日志,如果写日志就等于1,不写就等于0。一般不用设置
mysql> source E:\\day47.sql;

3.注:如果备份/恢复单个库时,可以修改sql文件
DROP database if exists school;
create database school;
use school;
恢复备份

 

当我们没有登录用户时,查看恢复状况,可以用一下语句,不用登录

mysql -uroot -e "use test;show tables;"   #注意是双引号
mysql -uroot -e "show databases;" #注意分号在双引号里面
技术分享图片
一、表的导出
 
select * from stu into outfile E:\\userinfo.txt  fields terminated
by , lines terminated by \n;  #将字段之间按逗号分开,行之间用‘\n‘分开


1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这样写的话报错了。新版本不支持你这样直接指定路径写,为了保证数据的安全。
如果一旦有黑客拿到sql权限的时候,就把你的数据就给拿走了。你的数据就不安全了
那么怎么解决这个错误呢?
show variables like %secure%;
解决方法:更改配置文件
[mysqld]
secure_file_priv=E:\\
导出
技术分享图片
二、表的导入
use bak;
show tables;
create table user(id int primary key auto_increment,name char(20),age int,depart_id int);
desc user;
load data infile E:\\userinfo.txt into table user fields terminated by , 
lines terminated by \n;#导入表
导入

 

 

务必保证在相同版本之间迁移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456

 

mysql数据备份

标签:技术   文件中   stat   style   from   直接   sele   新版   field   

原文地址:https://www.cnblogs.com/ls-2018/p/8977262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!