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

mysqldump备份命令

时间:2018-02-24 19:32:16      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:linux   mysql   备份   

mysqldump备份说明:

#mysqldump -uroot -p123456 test > test.sql 
         
#mysqldump -uroot -p123456 -B test > test.sql  #这两个的差别:-B将创建的数据库名也会备份下来

#mysqldump  -uroot -p123456 -B test | gzip > test.sql.gz   备份库并压缩

mysqldump的备份原理:

实际上就是把数据从mysql库里以逻辑的sql语句的形式直接输出或者生成备份的文件过程。属于逻辑备份。

物理备份:直接对文件进行打包。

#mysqldump -uroot -p123456 -B test xpg | gzip > test.sql.gz  #同时备份多个库

分库备份的意思何在?

如果一个库的数据的数据出现问题,仅仅将这个库的数据导入进去就好,分库的意义


备份单个表:

#mysqldump  -uroot -p123456 dbname tablename > test.sql       #备份一个库里面的一个表

#mysqldump  -uroot -p123456 dbname tablename1 tablename2 > test.sql  #备份一个库里面的多个表

#mysqldump  -uroot -p123456  -d dbname tablename > test.sql #只是备份一个表的结构,不备份数据

#mysqldump  -uroot -p123456 -t dbname tablename > test.sql  #只是备份一个表的数据

备份数据库里面的所有数据:-A

#mysqldump -uroot -p123456 -A -B --events | gzip > test.sql.gz

--master-data=1 这个标记了当前的binlog日志记录的位置,恢复数据就是从这个日志的master_log_pos后面开始恢复。

#mysqldump -uroot -p123456 --master-data=1 test > test.sql

技术分享图片

innodb:存储引擎( --single-transaction:锁表)

#mysqldump  -uroot  -p“”  -A  -B  --master-data=1 --single-transaction | gzip >/opt/all.sql.gz


08-利用source恢复mysql数据讲解及实战

source  需要登录到数据库里面。

mysql>drop  database  dbname;  删除一个库。

mysql>system ls  /opt    #查看opt下面有什么文件

mysql>source /opt/...sql

09 分库备份后mysql如何分库恢复实践

当你备份时没有使用-B。恢复是必须指定库

#mysql -uroot -p‘123456’  dbname < /opt/mysql_bak.sql

如果是压缩的备份文件。

可以先使用gzip  -d  压缩文件。然后在导入。


10-mysql进程-状态-在线修改参数重要指示讲解

-e:交互显示

技术分享图片


设置全局变量使用set global key_buffer_size=..,重启后失效


小结:生产常用命令

show global status:查看整个数据库运行状态信息,很重要分析并要做好监控

show full processlist:查看正在执行的完整的sql语句

set global key_buffer_size=32777218  不重启数据库调整数据库参数,直接生效,重启后失败

show variables:查看数据库的参数信息


11-mysqlbinlog命令介绍及实战讲解

mysqlbinlog--》解析mysql的binlog日志

binglog日志是什么?

在data下面。mysql-bin.index是binlog日志文件的索引

作用是:从来记录mysql内部增删改查等对mysql数据库有更新的记录。select不会记录。

binglog会记录所有库所有表的操作日志。不能分开记录相关库的binlog日志

通常情况所有的库日志都在一个binlog里面。

所以要进行拆库:这样将一个的库日志导入到新的文件里面

#mysqlbinlog -d test mysql-bin.000001 > test.sql  #将test库的binlog日志导入到test.sql


mysqldump备份命令

标签:linux   mysql   备份   

原文地址:http://blog.51cto.com/11726212/2072705

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