首页 > 数据库 >MySql 数据备份

MySql 数据备份

时间:2022-09-22 13:13:41浏览次数:46  
标签:log -- 备份 数据备份 innodb MySql 日志 数据库

相关命令的执行都在windows服务器下,且工作目录就是mysql server的bin目录下.

1、mysqldump 全备份

mysqldump -h127.0.0.1 -u用户名 -p"密码" 
数据库名称 有表的话写表名称 
--single-transaction 
--master-data=2 
--flush-logs
>C:\Users\Administrator\Desktop\mysqldump\dh_log.sql

-h后面跟的是需要全备份的远程mysql服务器ip地址

-u后面跟的是登录的用户名

-p后面跟的是登录密码注意要用双引号括起来

接着后面写需要备份的数据库名称,如果需要备份某个表,则在后面再写表名称即可

--single-transaction  备份时指定不锁定表

--master-data 备份时,会向备份文件写入此次操作备份到哪个binlog文件的哪个position,因为在备份期间数据库还在运行,这部分数据只能通过binlog来恢复.

--flush-logs 执行备份前切断当前binlog和数据库的联系,在备份期间写入的数据都会写入新的binlog文件中,方便后面通过binlog恢复数据.

>C:\Users\Administrator\Desktop\mysqldump\dh_log.sql  指定sql的生成路径.

 

2、恢复备份文件

mysql -uroot -p"root" 数据库名称<备份文件的路径

注意:如果是第一次同步,需要新建数据库

(1)、优化

2.1、减少数据库操作

关闭二进制日志:去掉log-bin配置选项。

减小事务提交后日志刷新频率:innodb_flush_log_at_trx_commit=0每秒1次。

2.2、增加日志尺寸

较大的事务日志缓冲区,减少写入日志的I/O操作:innodb_log_buffer_size

较大的日志文件,减少检查点和写入I/O:innodb_log_file_size

2.3、增加写入线程

InnoDB引擎写操作的I/O线程数:innodb_write_io_threads(不要超过CPU核心数)

2.4、增加缓存池

innodb_buffer_pool_size

innodb_buffer_pool_chunk_size

innodb_buffer_pool_instances

2.5、关闭双写缓冲区(doublewrite)

启动MySQL示例时,使用--innodb-doublewrite=0选项参数。

 

3、通过gitbash(因为是windows环境)查看备份节点终止的binlogfile和position

grep -i "CHANGE MASTER" dh_log.sql

输出如下:

-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.000064', MASTER_LOG_POS=155;

 

4、常见错误

ERROR 2006 (HY000) at line XX: MySQL server has gone away

解决方案

修改my.ini以下配置

max_allowed_packet=32M

 

标签:log,--,备份,数据备份,innodb,MySql,日志,数据库
From: https://www.cnblogs.com/GreenLeaves/p/16644040.html

相关文章

  • Mysql 修改数据存放目录
    1、关闭Mysql服务2、修改my.ini文件修改datadir路径至新目录,并且将原来的Data目录拷贝至新目录修改secure-file-priv路径至新目录,并且将原来的Uploads文件夹贝至新目......
  • 配置允许MySQL授权允许root用户远程连接
    1.纯MySQL服务的环境下,都是少不了需要root用户登陆的情况,一般情况下MySQL都是在开放本地连接,需要开放远程连接的话需要用户自行设置1.本文使用的是MySQL的版本为MySQL8.0,版......
  • Mysql的explain详解
    使用mysql提供的explain命令来查询sql语句的执行计划,查看sql语句有没有使用上索引,有没有全表扫描等。expain出来的信息有12列,分别是,id,select_type,table,partitions,type,possi......
  • MySQL常用命令
    MySQL基础1.创建数据库createdatabaseshop;#使用库useshop;2.创建表createtableuser(id intprimarykey,namechar(10))ENGINE=InnoDBDEFAULTCHARSET=u......
  • Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
    mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万......
  • centos7下使用yum安装mysql
    CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。1.下载mysql的repo源$wget http://repo.mysql.com/mysql-community-release-e......
  • MySQL基本命令
    一、mysql服务的启动和停止netstopmysqlnetstartmysql二、 登陆mysql语法如下:mysql-u用户名-p用户密码键入命令mysql-uroot-p,回车后提示你输入密码,输入12345,......
  • MySQL DDL执行方式-Online DDL介绍
    1引言大家好,今天与大家一起分享一下mysqlDDL执行方式。一般来说MySQL分为DDL(定义)和DML(操作)。DDL:DataDefinitionLanguage,即数据定义语言,那相关的定义操作就是DDL,包......
  • MySQL最大连接数设置
    在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“CannotconnecttoMySQLserver. Toomanyconnections”-mysql1040错误,这是因为访问MySQL且还未释放的连接数目......
  • MYSQL备份(直接拷贝数据库文件
    目的:把A机中的库转移到B机中。1、停止mysql服务,在A机mysql安装目录下,找到my.ini文件打开,在此文件中找到datadir,把这个路径下的数据文件:ibdata1以及所有文件夹拷贝到B机中d......