ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL之IDE工具介绍及数据备份(数据库导入,导出)

2019-10-03 10:01:18  阅读:333  来源: 互联网

标签:备份 MySQL 数据备份 test uroot sql mysql day47 IDE


MySQL之IDE工具介绍及数据备份

一、IDE工具介绍

生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具

下载链接:https://pan.baidu.com/s/1bpo5mqj

二、MySQL数据备份

#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境(
如数据文件、控制文件、归档日志文件等)。
但不能恢复到异构系统中如Windows。

#2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
#3. 导出表: 将表导入到文本文件中。

也可以用IDE工具来实现备份,点击转储SQL..,那我们重点来研究一下MySQLdump实现的逻辑备份

1.使用mysqldump实现逻辑备份 

复制代码
#语法:
# 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
 
复制代码

 

2.恢复逻辑备份

复制代码
方法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;
复制代码

 

在没有登录之前恢复是,如果你想看恢复了没有的时候是不是每次都要登录进去看看啊,那么我们可以这样做,就不用登录直接查看 了。

不用再登录进去执行sql语句了
mysql -uroot -e "use test;show tables;" #注意是双引号 mysql -uroot -e "show databases;" #注意分号在双引号里面

 

注意事项:
1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库)
2. 恢复期间所有SQL语句不应该记录到binlog中

3.表的导出与导入

复制代码
一、表的导出
use day47
select * from userinfo;
select * from userinfo into outfile 'E:\\userinfo.txt'  fields terminated
by ',' lines terminated by '\n';  #将字段之间按逗号分开,行之间用'\n'分开

这样写的话报错了。新版本不支持你这样直接指定路径写,为了保证数据的安全。
如果一旦有黑客拿到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';#导入表
复制代码

4.数据库迁移

 

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

 

标签:备份,MySQL,数据备份,test,uroot,sql,mysql,day47,IDE
来源: https://www.cnblogs.com/maaosheng/p/11619186.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有