MySQL 使用mysqldump命令导出数据和表结构,binlog恢复误操作数据
MySQL 使用mysqldump命令导出数据和表结构,binlog恢复误操作数据
查看binlog
mysqlbinlog -vv --base64-output=decode-rows mysql-bin.000705 > binglog000705.txt
mysqlbinlog恢复数据,
-
让后续操作进入新的日志:mysql> flush logs;
-
show variables like ‘log_bin%’;
-
若未开启binlog, 在my.ini增加 --》 log-bin=mysql_bin binlog_format=Row ;
-
找到当前mysql记录的binlog文件:
show master status; -
查看binlog,定位误操作的pos或者时间段:
show binlog events in ‘mysql-bin.000001’; -
进入C:\ProgramData\MySQL\MySQL Server 5.7\Data
执行(此文件夹一般为隐藏,记得开启显示隐藏文件夹。
例如:数据库名为mydata):
mysqlbinlog --start-position=543 --stop-position=945 --database=mydata mysql-bin.000001 | mysql -uroot -proot -v mydata;
MySQL 使用mysqldump命令导出数据和表结构
导出整个DB结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d testdb --default-character-set=utf8 > dump.sql
导出整个DB结构(含数据)
mysqldump -h localhost -uroot -p123456 testdb --default-character-set=utf8 > dump.sql
导出单个表结构(不包含数据)
mysqldump -h localhost -uroot -proot -d db_name table_name > dump.sql
导出单个表结构(含数据)
mysqldump -h localhost -uroot -proot db_name table_name --default-character-set=utf8 > local.sql
如果只是简单的导出某几个表的数据,建议直接用Navicat选择“导出向导”选中要导的表,
然后导出成sql
然后需要导入的地方,右键运行SQL文件,选中你的sql文件即可。