linux下mysql备份与还原
首页->学习资料->微服务治理->sql教程 关键词: 发布时间:2014-12-23 09:21:01 浏览次数:2159

备份:不用登入mysql,hurong是数据库名,hu.sql那一串是备份的路径

[root@localhost www.tp5.vm]# mysqldump -uroot -p --databases hurong > /www/wwwroot/www.tp5.vm/hu.sql


还原,先登录到mysql中,先建一个库,use一下,然后用下面的命令:

source  /www/wwwroot/www.tp5.vm/hu.sql



数据备份
1、简单的数据备份(单表备份)
通过select 语句将查询到的数据,以文本文件的形式存储起来。
语法:select 字段 into outfile 文件地址 from 表名 where 其它的select 子句
例1:select * into outfile 'e:/student.txt' from student;
注意:
要用绝对路径,要用引号引起来,盘符方向为'/'; 执行后会在e盘下看到一个名为student.txt; 命令行窗口不会显示数据,只会显示query ok..提示
如果文件已存在,是不能覆盖生成的,会报file already exists错误
生成的文件字段间默认是用制表符分隔的,每条记录之间用换行符分隔;但是在数据存储时是可以被设置的。
通过fields terminated by 及lines terminated by 设置字段与记录的分隔符
例2:备份数据,字段间用逗号分隔,记录间用rn分隔
select * into outfile 'e:/student.txt'
fields terminated by ','
lines terminated by 'rn'
from student;

还原
load data infile 文件路径 into table 表名
例子,将上面备份的数据还原到student1表中,由于我们修改了默认的分隔符,则操作如下:
先建立一个和student表结构一样的student1表
create table student1 like student;
load data infile 'e:/student.txt'into table student1
fields terminated by ','
lines terminated by 'rn';
如果备份的时候生成的数据是用默认分隔符,则不用写最后两行;

2、数据的导出工具,mysqldump
它是mysql所带的一个工具;路径:mysql安装目录/bin/mysqldump.exe
可以在命令行下直接执行(运行->cmd->mysqldump),不用输密码登录mysql

1、备份一个库
例:备份test数据库到e:名称为test.sql;
mysqldump -h127.0.0.1 -P3306 -uroot -p -B test>e:/test.sql
注意:
命令最后没有封号';'否则会报错;回车后输入root用户对应的密码即可备份成功;
可以省略-B选项,表示不创建库,其它都一样(只备份表和数据);

2、备份一个表/备份多个表
例子:备份test库下的student表
mysqldump -h127.0.0.1 -P3306 -uroot -p test student>e:/student.sql
例子:备份test库下的student表和class表
mysqldump -h127.0.0.1 -P3306 -uroot -p test student class>e:/studenAndclass.sql

3、直接复制完成备份
到mysql安装目录的data目录下,找到对应库名的文件夹复制即可备份;
注意:
该行为不是每次都生效;
典型的是针对myisam格式的表发生作用,innodb的会有问题;

4、通过source还原
例子:drop table student后,将上面例子生成的student.sql还原
source e:/student.sql


5、通过mysql登录的方式
mysql -h127.0.0.1 -P3306 -uroot -p test <e:/test.sql;

赞:(0)
踩:(0)
相关文章
find_in_set在集合中查找
sql查询自定义排序field函数
sql显示表结构及索引
sql修改表
添加、删除索引
sql分组
sql子查询
sql多表更新
sql建表同时插入数据
sql多表删除
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:946734
粤ICP备18028092号-1  微信:hurong241