站长资讯网
最全最丰富的资讯网站

MYSQL数据库备份还原,并还原到最新状态(mysqldump)-wx5af9a8e325bc6的博客-51CTO博客

启用二进制日志文件

vim /etc/my.cnf 配置文件位置及文件名根据实际情况确定

清理二进制日志文件

show master logs; 查看二进制日志文件列表

完全备份,并还原到最新状态(mysqldump)

前提条件:启用二进制日志,并单独存放。在mysql数据丢失时,可以还原最新备份到丢失时刻的数据

mysqldump -A --single-transaction --master-data=1 > /data/backup/all_mysql.sql

完全备份数据库文件,并存放多份到安全的地方

mysql> insert TABLENAME(col_name,...)value(value,...)

3 数据库文件丢失

service mysqld stop

5 查看完全备份时二进制日志备份的最后位置,实验时备份的最后位置为:CHANGE MASTER TO MASTER_LOG_FILE=’mariadb.000001′, MASTER_LOG_POS=8944;

-- MySQL dump 10.16  Distrib 10.2.23-MariaDB, for Linux (x86_64) -- -- Host: localhost    Database:  -- ------------------------------------------------------ -- Server version       10.2.23-MariaDB-log  /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;  -- -- Position to start replication or point-in-time recovery from --  -- CHANGE MASTER TO MASTER_LOG_FILE='mariadb.000001', MASTER_LOG_POS=8944;  -- -- GTID to start replication from -- /data/backup/all_2019-05-06.sql . .

重启mysql服务:

service mysqld restart

登录mysql :

mysql -uroot -p

临时关闭二进制日志,还原完全备份:

mysql> set sql_log_bin=off;   mysql> soruce /data/backup/all_mysql.sql

6 还原没有备份的新数据

mysqlbinlog --start-postion=8944 /data/bin/mariadb.000001 > /data/backup/inc.sql

在原终端中继续还原

mysql> soruce /data/backup/inc.sql

到此已经还原全部数据

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号