mysqldump

mysql之备份与恢复

自作多情 提交于 2020-02-13 11:58:30
数据备份全备 备份命令 :mysqldump把数据库的数据以sql语句导出属于逻辑备份 格式 : mysqldump -uroot -p123456 -S 多实例的mysql.sock 数据库名 >/备份的文件名        #单库备份egrep -v '#|\*|--|^$' /备份文件名 #检查备份的结果 恢复数据: mysql -u用户名 -p密码 库名</备份文件名      #把备份的文件导入mysql 备份单个表 mysqldump -uroot -p123456 -S /多实例.sock 库名 表名>/备份文件名 #不加-B前边是库后边是表 恢复单个表 mysql -u用户名 -p密码 库名</备份文件名      #把备份的文件导入mysql mysqldump 的参数 -B 库名    #在备份文件里增加创建数据库和进入数据库的命令 加-B就算数据库被drop掉也可以直接恢复 mysqldump -uroot -p123456 -S /多实例mysql.sock -B 库名>/备份文件          #备份 可备份多个库 -B 库名1 库名2 库名N mysql -uroot -p123456 -S /多实例mysql.sock <备份文件                 #恢复 -d  备份表结构 mysqldump -uroot -p123456 -S

免 mysqldump 命令备份 MySQL 数据库

可紊 提交于 2020-02-13 11:15:53
使用官方提供的 mysqldump 命令可以轻松地备份SQL,但是通常应用服务器和数据库服务器不是放在一块的儿,是否可以通过纯 Java 或 JDBC 来实现备份呢?答案是可以的,笔者根据 此思路 进行了与 AJAJX-Data 的整合,代码行数更精简,只有 200 多行代码。 但是,必须指出,这种思路有不少缺点,自然是不能代替官方工具的了。备份表结构通过 SHOW CREATE TABLE 语句完成,——这个没问题,只是备份实体数据时,是通过 SELECT * FROM table 备份所有行的,200 多行的代码可见考虑的情况不是很全,有其数据类型没有加进来,只能说可以应付普通的情况了。第二是效率问题,通过 JDBC 和 SELECT * 扫描表,数据量大的时候可见是不理想的。 要说靠谱自然是官方的工具完善,本文提供的思路权且当作一种应急的功能,“有备份总比没有好”,而且也不用央求运维帮忙啦 完整代码如下。 package com.ajaxjs.backup; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java

Mysql ERROR: ASCII '\0' while importing sql file on linux server

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-13 08:39:33
问题 I am getting following error while importing sql file ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''. HELP NEEDED...!! 回答1: Try something like : mysql -u root -p -h localhost -D database --binary-mode -o < dump.sql and make sure your sql file is not zipped. 回答2: I encountered this problem,the sql file was in a valid ISCII format, I

Mysql ERROR: ASCII '\0' while importing sql file on linux server

倖福魔咒の 提交于 2020-02-13 08:38:05
问题 I am getting following error while importing sql file ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''. HELP NEEDED...!! 回答1: Try something like : mysql -u root -p -h localhost -D database --binary-mode -o < dump.sql and make sure your sql file is not zipped. 回答2: I encountered this problem,the sql file was in a valid ISCII format, I

crontab 定时备份 出现permission:denied

有些话、适合烂在心里 提交于 2020-02-13 08:37:48
主要原因是第一天晚上没有进入到Mac的root权限,所以一直就是权限不足。 今天我会了进入Mac root权限了,我一试就好了。 contab 定时命令: * * * * * /bin/sh /Users/wky/Desktop/backup.sh > /Users/wky/Desktop/backup.txt 2&> 1 这个是每分钟备份一次。 ******************************************************************************************** 参考:http://blog.csdn.net/xiyuan1999/article/details/8160998 5. crontab命令 cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数   crontab -l //列出某个用户cron服务的详细内容   crontab -r //删除没个用户的cron服务   crontab -e //编辑某个用户的cron服务   比如说root查看自己的cron设置:crontab -u root -l   再例如,root想删除fred的cron设置:crontab

Mysql相关操作

有些话、适合烂在心里 提交于 2020-02-13 03:53:57
1. 如何更改系统环境变量PATH? vim /etc/profile 加入 PATH=$PATH:/usr/local/mysql/bin 2. 默认mysql安装好后,并没有root密码,如何给root设置一个密码? mysqladmin -uroot password 'newpass' 3. 如何更改root密码? mysqladmin -uroot -poldpasswd password 'newpasswd' 4. 如何连接远程的mysql服务器? mysql -uusername -ppass -hhostip -Pport 5. 如何查看当前登陆mysql的账户? select user(); 6. 在mysql命令行下,怎么切换某个库? use databasename; 7. 如何查看一个表都有哪些字段? desc tablename; 8. 如何查看某个表使用的是哪种数据库引擎? show create table\G; 9. 如何查看当前数据库有哪些队列? show processlist; 10. 当有很多队列时,如何查看有哪些慢查询? 看慢查询日志,慢查询日志在/etc/my.cnf中设置方法是增加: log_slow_queries = logname long_query_time = 1 //查询时间超过1s会记录日志 11.

MySQL数据库备份与恢复

断了今生、忘了曾经 提交于 2020-02-13 01:05:15
MySQL数据库备份与恢复 1、备份方式 逻辑备份(文本表示:SQL 语句) 物理备份(数据文件的二进制副本) 基于快照的备份 基于复制的备份 增量备份(刷新二进制日志) 2、备份类型 2.1 热备份 这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问。 2.2冷备份 这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。 2.3温备份 这些备份在读取数据时进行,但在多数情况下,在进行备份时不能修改数据本身。这种中途备份类型的优点是不必完全锁定最终用户。但是,其不足之处在于无法在进行备份时修改数据集,这可能使这种类型的备份不适用于某些应用程序。在备份过程中无法修改数据可能产生性能问题。 3、物理备份 物理备份由存储数据库内容的目录和文件的原始副本组成。这种类型的备份适用于需要在发生问题时快速恢复的大型重要数据库。 3.1物理备份的特点 备份由数据库目录和文件的精确副本组成。通常这是全部或部分MySQL数据目录的副本。 物理备份方法比逻辑更快,因为它们只涉及文件复制而无需转换。 输出比逻辑备份更紧凑。 由于备份速度和紧凑性对繁忙

java代码定时备份mysql数据库及注意事项——基于 springboot

為{幸葍}努か 提交于 2020-02-12 18:48:57
一、需求: 定时备份数据库数据 二、分析: 1. 定时任务 2. 备份数据库表结构和数据 三、实现: 1. pom 文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.kevin</groupId> <artifactId>backupdatabase<

MySQL经典面试题

爱⌒轻易说出口 提交于 2020-02-12 04:24:22
MySQL经典面试题 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)

MySQL经典面试题

孤人 提交于 2020-02-12 03:49:55
MySQL经典面试题 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)