mysql命令行备份方法
一、mysql备份
1、备份命令
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
# 本地备份可以不添加端口和主机IP,username、passward是数据库用户名和密码
mysqldump -h *.*.*.* -p 3306 -u username -p password --database mysql > /data/backup/mysql.sql
2、备份压缩
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz
# 导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩
mysqldump -h *.*.*.* -p -u username -p password --database mysql | gzip > /data/backup/mysql.sql.gz
3、备份同个库多个表
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password mysql1 mysql2 mysql3> /data/backup/mysql_db.sql
4、同时备份多个库
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --databases mysql1 mysql2 mysql3 > /data/backup/mysql_db.sql
5、备份实例上所有的数据库
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --all-databases > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --all-databases > /data/backup/mysql_db.sql
6、备份数据出带删除数据库或者表的sql备份
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --add-drop-table --add-drop-database 数据库名 > 文件名.sql
mysqldump -h *.*.*.* -p 3306 -u username -p password --add-drop-table --add-drop-database mysql > /data/backup/mysql_db.sql
7、备份数据库结构,不备份数据
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --no-data –databases mysql1 mysql2 mysql3 > /data/backup/structure_db.sql
8、还原MySQL数据库的命令
# database为数据库名
mysql -h *.*.*.* -u username -p password database < backupfile.sql
9、还原压缩的MySQL数据库
# database为数据库名
gunzip < backupfile.sql.gz | mysql -u username -p password database
10、将数据库转移到新服务器
# database为数据库名
mysqldump -u username -p password database | mysql –host=*.*.*.* -C database
11、--master-data 和--single-transaction
在mysqldump中使用--master-data=2,会记录binlog文件和position的信息 。
--single-transaction会将隔离级别设置成repeatable-commited。
12、导入数据库
常用source命令,用use进入到某个数据库,mysql>source d:\test.sql,后面的参数为脚本文件。
13、查看binlog日志
查看binlog日志可用命令 mysqlbinlog binlog日志名称|more
14、general_log
General_log记录数据库的任何操作,查看general_log 的状态和位置可以用命令show variables like "general_log%" ,开启general_log可以用命令set global general_log=on
二、增量备份
1、首先做一次完整备份:
# 这时候就会得到一个全备文件test.sql
mysqldump -h *.*.*.* -u username -p passward -p --single-transaction --master-data= test>test.sql
在sql文件中我们会看到:
-- 是指备份后所有的更改将会保存到bin-log.000002二进制文件中。
CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;
2、在test库的t_student表中增加两条记录,然后执行flush logs命令。
这时将会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了全备过后的所有更改,既增加记录的操作也保存在了bin-log.00002中。
3、再在test库中的a表中增加两条记录,然后误删除t_student表和a表。
a中增加记录的操作和删除表a和t_student的操作都记录在bin-log.000003中。
三、恢复
1、首先导入全备数据
# 也可以直接在mysql命令行下面用source导入
mysql -h *.*.*.* -u username -p passward -p 3310 < test.sql
2、恢复bin-log.000002
mysqlbinlog bin-log.000002 |mysql -h *.*.*.* -u username -p passward -p 3310
3、恢复部分 bin-log.000003
在general_log中找到误删除的时间点,然后更加对应的时间点到bin-log.000003中找到相应的position点,需要恢复到误删除的前面一个position点。
可以用如下参数来控制binlog的区间
--start-position 开始点 --stop-position 结束点
--start-date 开始时间 --stop-date 结束时间
找到恢复点后,既可以开始恢复。
mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h *.*.*.* -u username -p passward -p 3310
mysql命令行备份方法的更多相关文章
- Mysql命令行备份与还原数据库操作实例
无论是Windows还是Linux,都可以通过如下命令行形式备份Mysql数据库 备份命令: 在windows的DOS窗口命令行或linux的shell命令行,假设需要备份的数据库是advanced: ...
- mysql命令行备份数据库
MySQL数据库使用命令行备份|MySQL数据库备份命令 例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:pass 数据库名称:myweb 备份数据库到D盘跟目录 mysq ...
- 使用MySQL命令行备份和恢复数据库
导出数据库: 1.windows下cmd打开命令行 2.cd 到MySQL的安装目录的bin 目录,如果bin目录添加到环境变量中不需要切换到bin目录 3.导出数据库:mysqldump -u 用户 ...
- mysql 命令行 备份 恢复数据
找到mysql启动位置 whereis mysql 备份指定数据库 包括表结构和数据 使用命令mysqldump 数据库名 -u 用户名 -p > 存储文件路径 [root@izm5e16gjd ...
- mysql命令行以及mysql workbence查询结果中文乱码的解决方法
最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47同时也安装了mysql命令行以及mysql workbench这里是test数据库cr ...
- Mysql命令行中文乱码的解决方法
环境:Windows 8 64位,Mysql 5.0.96 for Win64 (x86) 数据库本身安装时默认已经是使用utf8编码的了,但在命令行中执行查询时,查询到的中文依然乱码,解决方法如下 ...
- Mysql命令行tab自动补全方法
在mysql命令行有时为了方便想要按tbl键自动补全命令,以便节约时间. 具体方法如下: 第一步:修改my.cnf vi mysql/etc/my.cnf 将下图红框的代码注释,修改成如下代码: #d ...
- 第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原
MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program ...
- MYSQL 命令行工具自动登录的方法
MYSQL 命令行工具自动登录的方法 1. 需求提出 由于在linux 环境下,经常需要使用mysql(command-line tool) 终端连接到MYSQL DB服务. 其中大致的语法如下: m ...
随机推荐
- 题解 矩阵 matrix
矩阵 matrix Description 给出一个 n × m 的矩阵.请在其中选择至多 3 个互不相交的,大小恰为 k × k 的子矩阵,使得子矩阵的 权值和最大. Input 第一行三个整数 n ...
- [旧版] CASthesis 模板编译的问题
写在前面的话:国科大最新版的模板在这里(https://github.com/mohuangrui/ucasthesis),利用它来写博后出站报告的相关介绍在这里: 本篇博文是针对另一个模板进行介绍的 ...
- js 获取对应的url参数
举例:http://localhost:5000/?sss=sdf&fdd=123 1.设置或获取整个 URL 为字符串 window.location.href 值: http://loc ...
- Python—数据类型之字典(Dict)
其它数据类型转成字典 arr1 = ['jack', 'rose', 'marry'] arr2 = [68, 85, 66] dict1 = dict(zip(arr1, arr2)) print( ...
- Android_(控件)使用ListView显示Android系统中联系人信息
使用ListView显示手机中联系人的姓名和电话号码 父类布局activity_main.xml,子类布局line.xml(一个文件的单独存放) 运行截图: (避免泄露信息对部分地方进行了涂鸦O(∩_ ...
- 对象中 new this
构造函数 new后面调用函数,我们称为构造函数(首字母大写) Object() 我们把他视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建新对象,为新对象进行初始化(设置对象 ...
- Java 注解指导手册(下)
9. 自定义注解 正如我们之前多次提及的,可以定义和实现自定义注解.本章我们即将探讨. 首先,定义一个注解: public @interface CustomAnnotationClass ...
- 使用IDEA集成Spring框架时右下角警戒
反正看到报错就不爽,就要去解决它 这个警戒的意思大概就是: spring配置检查 找到未映射的Spring配置文件. 请配置Spring的Facet. 那这玩意怎么配置? 点击IDEA右上角的Proj ...
- leetcode题目2.两数相加(中等)
题目描述: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来 ...
- linux出现Redirecting to /bin/systemctl start mysqld.service,解决方法
上去就是一个命令 /bin/systemctl start httpd.service