**mysql数据备份**
>[success] mysql数据库自带一个很好用的备份命令 就是mysqldump
语法:
~~~
mysqldump -u 用户名 -p 密码 数据库名 > 备份文件路径/备份文件名
~~~
1. 查看备份前的数据
~~~
[root@greymouster]# mysql -uroot -proot -e "use test;show tables;select * from student;"
~~~
2. 执行备份的命令
~~~
[root@greymouster]# mysqldump -uroot -proot test > /opt/test_bak.sql
~~~
3. 检查备份的结果
~~~
[root@greymouster]# egrep -v "#|\*|--|^$" /opt/test_bak.sql
~~~
4. 设置字符参数备份解决乱码问题
* 查看备份前数据库客户端及服务端的字符集设置
~~~
[root@greymouster]# mysql -uroot -proot -e "show variables like '%character%'"
~~~
* 指定对应的字符集备份,这里为--default-character-set=latinl
~~~
[root@greymouster]# mysqldump -uroot -proot --default-character-set=latinl test >/opt/test_bak.sql
[root@greymouster]# egrep -v "#|\*|--|^$" /opt/test_bak.sql
~~~
5. 备份时加 -B参数
>[success] -B参数的作用是增加创建数据库和连接数据库的命令了
> CREATE DATABASE IF NOT EXISTS;
> USE \`test\`;
~~~
[root@greymouster]# mysqldump -uroot -proot --default-character-set=latinl -B test >/opt/test_bak.sql
~~~
6. 备份时加 --compact参数
>[success] --compact参数可以优化输出内容的大小,让内容更少,适用于调试
~~~
[root@greymouster]# mysqldump -uroot -proot --compact -B test >/opt/test_bak.sql
~~~
7. 指定压缩命令压缩备份的mysql数据
~~~
[root@greymouster]# mysqldump -uroot -proot -B test|gzip >/opt/test_bak.sql.gz
~~~
8. 备份多个mysql库
>[success] 在-B参数后要备份的数据库 -B 库名(test) 库名(test1)
~~~
[root@greymouster]# mysqldump -uroot -proot -B test test1|gzip >/opt/tests.sql.gz
~~~
9. 分库备份(同时备份所有数据库)
~~~
[root@greymouster]# myql -uroot -proot -e "show database;"|grep -Evi "database|infor|perfor"|sed "s#^#mysqldump -uroot -proot -B#g"
[root@greymouster]# myql -uroot -proot -e "show database;"|grep -Evi "database|infor|perfor"|sed -r "s#^([a-z].*$)#mysqldump -uroot -proot --events -B \1" >/opt/\1.sql.gz#g"|bash
~~~
10. bash脚本
~~~
for dbname in `mysql -uroot -p'root' -e "show databses;"|grep -Evi "database|infor|perfor"`
do
mysqldump -uroot -p'root' --events -B $dbname|gzip >/opt/bak/${dbname}_bak.sql.gz
done
~~~
11. 备份单个表
>[success] 语法:
> mysqldump -u用户名 -p密码 数据库名 表名 > 备份的文件名
~~~
[root@greymouster]#msqldump -uroot -proot test student>/opt/bak/student.sql
~~~
12. 备份多个表
>[success]语法:
> mysqldump -u 用户名 -p密码 数据库名 表名1 表名2>备份文件名
~~~
[root@greymouster]#msqldump -uroot -proot test student user >/opt/bak/test.sql
~~~
13. 备份mysql的表结构 加-d参数
~~~
[root@greymouster]#msqldump -uroot -proot -d test >/opt/bak/test_bak.sql
~~~
14. 只备份mysql的数据表数据 加 -t参数
~~~
[root@greymouster]#msqldump -uroot -proot -t test student>/opt/bak/test_student_bak.sql
~~~
15. 备份数据库中的所有表 包含mysql表 -A参数
~~~
[root@greymouster]#msqldump -uroot -proot -A - B --events test>/opt/bak/test_bak.sql
~~~
16. 备份数据刷新binlog参数 加 -F参数
>[success] 开启log_bin vi /etc/my.cnf
> log_bin = mysql-bin
> /ect/init.d/mysqld restart
~~~
[root@greymouster]#msqldump -uroot -proot -A - B -F --events test>/opt/bak/test_bak.sql
[root@greymouster]# ll /application/mysql/data/
~~~
17. 备份数据 自动添加 binlog日志文件及对应的位置点 加--master-data=1
>[success] 当master-data=2的时候,chang master to也是会写到dump文件里面去的,但是这个语句是被注释的状态。
~~~
[root@greymouster]#msqldump -uroot -proot -A - B --master-data=1 test>/opt/bak/test_bak.sql
~~~
18. 备份数据 适用innodb事务数据库的备份 --single-transaction
>[danger] InnoDB表在备份时,通常启用项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为 REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交的数据。
~~~
[root@greymouster]#msqldump -uroot -proot --single-transaction test>/opt/bak/test_bak.sql
~~~
19.备份数据 根据查询条件备份数据 --where=" "
>[success] mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
~~~
mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.sql
另外你还可以直接导出 文本文件*.txt
mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.txt
~~~
---------------------
作者:齐鲁至滇
来源:CSDN
原文:https://blog.csdn.net/xin_yu_xin/article/details/7574662?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
**工作中常用的备份**
>[success] --lock-all-tables, -x
提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。
1. MYISAM备份命令:
~~~
[root@greymouster]#mysqldump -uroot -proot -A -B -F --master-data=2 -x|gzip test> /opt/all.sql.gz
~~~
2. INNODB备份命令:
~~~
[root@greymouster]#mysqldump -uroot -proot -A -B -F --master-data=2 --single-transaction|gzip test> /opt/all.sql.gz
~~~
**DBA备份命令**
1. for MyISAM
~~~
[root@greymouster]# mysqldump --user=root --all-databases --flush-privileges --lock-all-tables --master-data=1 --flush-logs --triggers --routines --events --hex-blob>/opt/full_dump_bak.sql
~~~
2. for InnoDB
~~~
[root@greymouster]# mysqldump --user=root --all-databases --flush-privileges --single-transaction --master-data=1 --flush-logs --triggers --routines --events --hex-blob>/opt/full_dump_bak.sql
~~~
**mysql数据库恢复**
1. 利用source命令恢复数据库
进入mysql数据库控制台,mysql -uroot -proot登陆后
~~~
mysql>use 数据库;
~~~
用system ls 查看系统的路径
~~~
mysql> system ls /opt
~~~
然后使用source命令,后面参数为脚本文件(这里用到的.sql)
~~~
mysql>source /opt/test_bak.sql #这个文件是系统路径,默认是登陆mysql前的系统路径
~~~
2. 利用mysql命令恢复(标准)
>[success] 压缩的文件要先解压
> gzip -d /opt/mysql_bak.sql.gz
~~~
[root@greymouster]#mysql -uroot -p'root' test</opt/test_bak.sql
~~~
3. 数据批量恢复
~~~
[root@greymouster]#for dbname in `ls *.sql|sed 's#_bak.sql##g'`;do mysql -uroot -proot <{$dbname}_bak.sql;done
~~~
- 前言准备
- Linux新服务器的前期配置
- 认识linux下的Web服务器
- Linux的基本配置
- LNMP一键安装包快速部署web服务器
- LAMP服务器环境部署
- LAMP服务器管理
- LNMP服务器环境部署
- LNMP服务器管理
- lnmp一键安装包-常见问题
- 使用包管理器快速部署环境
- 包管理器快速部署LAMP服务器环境
- 升级php和mysql版本
- 包管理器快速部署LNMP服务器环境
- 使用源码包部署Linux服务器web环境
- 编译LAMP服务器环境部署
- apache安装与配置
- mysql的安装与配置
- PHP的安装与配置
- 编译LNMP服务器环境部署
- nginx服务启动脚本
- 源码安装常见问题
- Centos6与Centos7的区别
- 默认控制系统服务工具不同
- 设置开机启动的方式不同
- 编写service启动脚本
- 编写systemctl启动脚本
- 服务器安全
- 隐藏服务器信息
- Linux服务器防火墙设置
- 防火墙设置脚本
- 邮件发送
- 任务脚本的编写
- 服务器磁盘和服务器健康状态脚本
- 服务器登录报警脚本
- 数据库备份脚本
- 定时任务及应用
- 常见问题
- linux中使用ping命令不同的问题
- Linux中无法发送邮件
- mailx通过ssl方式发送邮件
- Mysql配置文件
- Linux TCP/UDP 常用端口
- Linux常见命令
- 系统信息
- 关机 (系统的关机、重启以及登出 )
- 文件和目录
- 文件搜索
- 挂载一个文件系统
- 磁盘空间
- 用户和群组
- 文件的权限
- 文件的特殊属性
- 打包和压缩文件
- RPM包
- YUM软件包升级器
- DEB 包 (Debian, Ubuntu 以及类似系统)
- APT 软件工具 (Debian, Ubuntu 以及类似系统)
- 查看文件内容
- 文本处理
- 字符设置和文件格式转换
- 文件系统分析
- 初始化一个文件系统
- SWAP文件系统
- 备份
- 光盘
- 网络-(以太网和WIFI无线)
- vi命令
- cut命令 截取
- Mysql
- MySQL备份-增量备与恢复命令实战
- mysqlbinlog
- mysql的安装
- 卸载mysql
- mysql多实例安装
- mysql 常用基础命令操作
- linux安装jdk、rpm安装mysql
- linux制作本地yum源
- shell脚本
