mysqldump

MySQL全量、增量备份

自作多情 提交于 2019-12-26 15:40:34
数据备份的重要性 1、在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果 2、造成数据丢失的原因 程序错误 人为错误 计算机失败 磁盘失败 灾难(如地震等)和偷窃 数据库备份的分类 一、从物理与逻辑的角度,备份可分为: 1、物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份 物理备份又可以分为脱机备份(冷备份)和联机备份(热备份): -冷备份:是在关闭数据库的时候进行的 -热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件 2、逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份 二、从数据库的备份策略角度, 备份可分为: 1、完全备份:每次对数据进行完整的备份 2、差异备份:备份那些自从上次完全备份之后被修改过的文件 3、增量备份:只有那些在.上次完全备份或者增量备份后被修改的文件才会被备份 MySQL完全备份(全量备份) 1、完全备份是对整个数据库的备份、数据库结构和文件结构的备份 2、完全备份保存的是备份完成时刻的数据库 3、完全备份是增量备份的基础 完全备份的优点 备份与恢复操作简单方便 完全备份的缺点 1.数据存在大量的重复 2.占用大量的备份空间 3.备份与恢复时间长 mysqldump备份库 一、MySQL数据库的备份可以采用用多种方式 1.直接打包数据库文件夹,如/usr/local/mysql/data 2

【沃趣科技】再述mysqldump时域问题

淺唱寂寞╮ 提交于 2019-12-26 02:08:34
沃趣科技作为国内领先的数据库云平台解决方案提供商,一直致力于企业级数据库云平台产品的研发,为用户提供高性能、高可用、可扩展的的数据库云环境及不同业务场景需求的数据库平台,满足客户对极致性能、数据安全、容灾备份、业务永续等需求。沃趣科技凭借专业的团队,优质的产品,前沿的技术,贴心的服务赢得了客户的信任与尊重,也获得了市场的认同。 之前文章( 引用沃趣技术--《当心! 使用mysqldump备份可能会让你欲哭无泪》 )介绍了当时间字段为timestamp时,使用mysqldump加where条件对时间字段进行过滤导出时,时域问题对导出数据的影响。今天我们就再来讨论一下mysqldump的时域问题。 问题介绍 日前,在客户某系统部署了一个数据清理脚本,该脚本在对数据进行清理之前,首先会按照清理数据的条件先使用mysqldump将即将清理的数据导出,再进行清理。该脚本使用crontab定时任务在凌晨两点执行。但第二天查看脚本的执行情况时,发现数据清理工作都顺利的完成了,但mysqldump导出的SQL文件里却只导出了表结构,没有导出数据。看到这个现象甚是奇怪。 问题分析与排查 查看导出数据的where条件为"gmt_modified < date_sub(curdate(),interval 359 day)",基于之前的理解,我们想过有可能是时域的问题,所以确认了一下gmt

Mysql之备份与恢复

三世轮回 提交于 2019-12-25 18:04:40
Mysql备份常用方法( 逻辑备份和物理备份) 逻辑备份mysqldump   恢复时通过mysqldump命令备份的sql语句还原到mysql数据库中   补充,增量备份备份binlog日志文件即可,恢复增量即通过mysqlbinlog工具截取binlog日志转换成sql语句,通过mysql或source进行语句还原 物理备份备份方法   使用cp,rsync,tar,scp等工具,由于在备份期间数据依然在写数据,所以直接复制会引起数据丢失,在恢复数据库时,对新数据库的路径,配置也有要求,一般要和远程保持一致。为了确保数据一致性,可以选择人工停库或者锁库后进行。但是一般生产部允许,除非可以申请停机或锁表 物理备份两部:1、停库或锁表,打包拷贝 2、第三方xtrabackup 企业场景全量和增量的频率 1、中小公司,全量一般每天一次,业务流量低谷进行,备份时锁表 增量:定时,例如每分钟rsync推一次binlog 2、大公司,一般周备,节省备份时间,减小备份压力,缺点是binlog文件副本太多,还原比较麻烦 3、一主错从环境,主从复制本身就是实时远程备份,可以解决物理故障 4、一主多从环境,可以采取一个从库上专门进行备份,通过延时同步解决人为误操作 mysql全量备份与增量备份 按天全备 周一 0 点全量备份 周二 0 点全量备份 01.sql.gz 02.sql.gz

How to maintain character-set of standard-values when uploading MySQL-dump

谁说我不能喝 提交于 2019-12-25 07:58:16
问题 I have a MySQL4 database db4 (charset: latin1) which I want to copy to a MySQL5 database (standard charset: utf-8) db5 using the following command: mysqldump -u dbo4 --password="..." --default-character-set="latin1" db4 | mysql -S /tmp/mysql5.sock -u dbo5 --password="..." --default-character-set="latin1" db5 The values of the entries are copied in a correct way. But the the german Umlaute (äüö...) which are contained in standard-values of some fields, are afterwards schown as "?" What is

How can I import a mysql dump?

孤人 提交于 2019-12-25 06:49:44
问题 I have created a mysql dump for only one table in my database. The command I used to create the dump was mysqldump -uroot -p database_name table_name > backup.sql . Now, when I am trying to import the data into my machine using the command " mysql -uroot -p database_name table_name < backup.sql " I am not getting anything. I only get text on command line which explains me how to use mysql command. Is there anything i am missing here? 回答1: Remove table_name . mysql -uroot -p database_name <

How to Import the data from an excel sheet to the MySQL table AUTOMATICALLY?

断了今生、忘了曾经 提交于 2019-12-25 04:31:04
问题 I got a requirement to develop a Java app to load the data from an excel sheet to a MySQL database table everyday. My actual requirement is when ever the user opens the application, it should automatically load the data from Excel -> MySQL database table. I do not have idea to import the data from excel to MySQL table. Can anyone help me in this? Thanks in advance. 回答1: You can import the data from excel using MySQL LOAD DATA INFILE command.. For automation you have to write a function to run

How to Backup mysql db from Remote to local without mysql local installation?

孤街醉人 提交于 2019-12-25 04:16:35
问题 Good Day, I am trying to take mysql backup from remote server to my local machine. I am able to do so, when i have mysql client installed on local machine. But when the client doesnt have local mysql client installation, it is not working ... I have been connecting to mysql server using the jdbc connection and my code snippet is as follows: try{ String cs = "jdbc:mysql://" + dbh + ":" + dbport + "/" + database + "?user=" + USER + "&password=" + PASS+""; Class.forName("com.mysql.jdbc.Driver")

How to backup MySQL database from NSIS

放肆的年华 提交于 2019-12-25 01:48:55
问题 I need to backup a MySQL database from an NSIS installer. I am missing something trivial in the scripts I tried: nsExec::Exec '"$mySqlDirectory\bin\mysqldump.exe" --user=$username --password=$password --routines $dbName --execute="source D:\$dbName.sql"' $0 nsExec::Exec '"$mySqlDirectory\bin\mysqldump.exe" --user=$username --password=$password --routines $dbName --execute="D:\$dbName.sql"' $0 nsExec::Exec '"$mySqlDirectory\bin\mysqldump.exe" --user=$username --password=$password --execute="-

MySQL数据库备份

蹲街弑〆低调 提交于 2019-12-25 00:58:34
目录 1.使用mysqldump实现逻辑备份 2.恢复逻辑备份 3.备份/恢复案例 4.实现自动化备份 5.表的导出和导入 6.数据库迁移 # 1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 # 2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。 # 3. 导出表: 将表导入到文本文件中。 1.使用mysqldump实现逻辑备份 # 语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql # 示例: # 单库备份 mysqldump -uroot -p123 db1 > db1.sql mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql # 多库备份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql # 备份所有库 mysqldump -uroot -p123 --all-databases > all.sql 2.恢复逻辑备份 # 方法一: [root@localhost backup]# mysql -uroot -p123 < /backup/all

linux 下 mysql 常用命令

谁说胖子不能爱 提交于 2019-12-24 23:37:37
1.开启和关闭 1.1.开启   service mysql start 1.2.关闭   service mysql stop 1.3.重启   service mysql restart 2.登录 2.1.密码明文   语法:mysql -u用户名 -p用户密码   举例:mysql -uroot -p123456 2.2.密码密文   语法:mysql -u用户名 -p+回车,然后输入密码   举例:mysql -uroot -p      3.修改密码 3.1.SET PASSWORD命令(需登录)   语法:mysql> set password for 用户名@localhost = password('新密码');   举例:mysql>set password for root@localhost = password('123456'); 3.2.使用sql语句更新 mysql 库中的 user 表(需登录)   mysql> use mysql;   mysql> update user set password=password('123') where user='root' and host='localhost';   mysql> flush privileges; 3.3.mysqladmin命令,明文(不需登录)   语法:mysqladmin