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

摘要:
#2.逻辑备份:它备份由表创建、数据库创建和插入等操作执行的SQL语句。它适用于中小型数据库,效率相对较低。MySQL uroot e“usetest;showtables;”#注意,双引号将mysql-uroot-e标记为“showdatabases;”#注意分号在双引号中注意:1.完全恢复到干净的环境。2.在恢复期间,所有SQL语句都不应记录在binlog中。3.表的导出和导入。1.表的导出使用day47 select*from userinfo;选择*fromuserinfointoutfile'E:\userinfo。txt'字段确定者','确定者';#用逗号分隔字段,用“”分隔行。一旦黑客获得sql权限,他就会拿走你的数据。

一、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:UsersAdministrator>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 '
';  #将字段之间按逗号分开,行之间用'
'分开

这样写的话报错了。新版本不支持你这样直接指定路径写,为了保证数据的安全。
如果一旦有黑客拿到sql权限的时候,就把你的数据就给拿走了。你的数据就不安全了
那么怎么解决这个错误呢?
show variables like '%secure%';
解决方法:更改配置文件
[mysqld]
secure_file_priv='E:\'
复制代码

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

复制代码
二、表的导入
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 ' ';#导入表
复制代码

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

4.数据库迁移

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

免责声明:文章转载自《MySQL之IDE工具介绍及数据备份》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于mui页面跳转(跳转及参数传递)微信和支付宝付款码条码规则(官方)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

这样做,免费从Oracle同步数据

点击▲关注 “数据和云” 给公众号标星置顶 更多精彩 第一时间直达 刘伟 刘伟,云和恩墨软件开发部研究院研究员;前微博DBA,主要研究方向为开源数据库,分布式数据库,擅长自动化运维以及数据库内核研究。 不得不承认的一点是,当前数据库的使用趋势,至少在国内,是逐渐从Oracle转向MySQL(扩大化概念的话,就是包括PG等在内的开源数据库,以及rds类的云...

Mysql 实现分页功能

分页查询语句: select * from 表名 limit start,count ; select * from 表名 limit count offset start; 说明: limit是分页查询关键字 start表示开始行索引,默认是0 count表示查询条数 假设数据库表emp存有13条数据: 代码示例: 语句1:select...

Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

由于MySQL编码原因会导致数据库出现乱码。 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。 具体操作: 1、进入MySQL控制台 >mysql -uroot -p #输入密码进入 >status; #查看当前MySQL运行状态,如下图所示:  ...

第10章 数据库恢复技术 | 数据库知识点整理

第10章 数据库恢复技术 了解 数据库的一致性状态 数据库运行中可能产生的故障类型,它们如何影响事务的正常执行,如何破坏数据库数据 数据转储的概念及分类 数据库的镜像功能 掌握 事务的基本概念和事务的ACID性质 数据库恢复的实现技术 日志文件的内容及作用 登记日志文件所要遵循的原则 具有检查点的恢复技术 恢复的基本原理 针对不同故障的恢复策略和方法...

sqlserver批量规律修改字段值

最近有这么一个任务,将数据库中现有三千多条数据从800000开始编号,每次增量为1,于是有以下三种解决方法: 1、直接在数据库手动一个一个加(你开心就好) 2、新增一个数据库字段如number,设置number字段为标识列,设置种子和增量,保存后表格自动生成值后再根据需要设置该字段为非标识列和修改字段类型(仅支持int数据类型) 3、使用数据库语句(推荐)...

解决:Access denied for user 'root'@'localhost' (using password: YES)

症状:   重新安装了MySQL,改变了root的密码,因此,在java代码中修改了某个DatabaseConnectionImpl的DBPASSWORD   在java中写了一些代码测试MySQL的插入和查询操作,直接作为java-application运行,正常   在jsp中调用了java写的DAO类进行数据库添加和查询操作,通过浏览器链接到tomc...