mysqldump

MySQL数据库的三大范式和备份

心不动则不痛 提交于 2020-01-12 09:57:53
MySQL数据库的三大范式和备份 文章目录 MySQL数据库的三大范式和备份 前言 1.MySQL数据库的三大范式 1.范式的简介 2.通俗的理解 2.数据库备份的重要性 2.1数据库备份的重要性 2.2造成数据丢失的原因 3.数据库备份的分类 3.1从物理与逻辑的角度 3.2数据库的备份的策略角度 3.3MySQL完全备份 1.完全备份 2.完全备份的优点 3.完全备份的缺点 3.4mysqldump备份数据库 1.MySQL数据库的备份的方式 2.mysqldump命令 3.mysqldump命令备份 3.5恢复数据库或者数据库中的表 1.恢复数据库 2.恢复数据库中的表 3.MySQL备份思路 4.MySQL增量备份 4.1MySQL增量备份的恢复方法 前言 我们已经能够很明显的区分出数据库的增量备份和差异备份了,下面,我们就来仔细研究研究如何进行备份。 1.MySQL数据库的三大范式 1.范式的简介 范式的英文名称是Normal Form,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。 范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF)

MySQL数据备份及恢复(1)

拥有回忆 提交于 2020-01-11 11:30:14
前言 MySQL备份一般采用全库备份加日志备份的方式,根据业务的需要,可以采用每周日凌晨1点进行完全备份以及每小时进行一次增量备份,这样在MySQL故障后可以使用完全备份和日志备份尽可能的去恢复最完整的数据。 一、binlog日志恢复 MySQL的二进制日志记录着该数据库所有增删改的操作日志(前提是需要自己开启binlog),还包括了这些操作的执行时间,binlog的使用场景无外乎就是主从同步以及恢复数据库。开启binlog功能,需要编辑MySQL的主配置文件,如下: 1、查看二进制功能是否开启(如下,值为OFF,则表示未开启): 2、开启二进制日志功能: [root@mysql ~]# vim /etc/my.cnf #在mysqld字段下写入下面配置,以便开启二进制日志并指定二进制文件名 #开启二进制日志,需要指定server-id,否则服务将会启动失败 log-bin=/usr/local/mysql/data/bin_log server-id=1 [root@mysql ~]# systemctl restart mysqld #重启后,将在指定的目录下生成两个文件,如下: [root@mysql data]# pwd /usr/local/mysql/data [root@mysql data]# ls | grep bin_log bin_log.000001

Mysql备份与恢复(2)---逻辑备份

◇◆丶佛笑我妖孽 提交于 2020-01-11 02:49:23
数据库及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工作,将因为数据库宕机产生的影响降低到最小。上一篇针对使用xtrabackup工具进行物理备份和数据恢复做了一个详细讲解,本篇主要谈谈如何使用mysql自带的备份工具mysqldump进行逻辑备份和数据恢复。如果还围观看过上一篇文章的可以先行查询上一篇文章关于使用xtrabackup进行数据备份与恢复:Mysql备份与恢复(1)—物理备份。 2019-10-14T07:43:22.351861Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable 2019-10-14T07:43:22.351885Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable 2019-10-14T07:43:22.351892Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2019-10-14T07:43:22.952508Z 0 [ERROR] Plugin ‘InnoDB’ init function returned error. 2019

MySQL全量、增量备份与恢复

我只是一个虾纸丫 提交于 2020-01-10 21:55:48
数据备份的重要性 在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果 造成数据丢失的原因 1.程序错误 2.人为错误 3.计算机失败 4.磁盘失败 5.zai难和偷窃 数据库备份的分类 物理备份: 对数据库操作系统的物理文件(如数据文件、日志文件等)的备份 物理备份又可分为脱机备份(冷备份)和联机备份(热备份) -冷备份:是在关闭数据库的时候进行的 -热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件 逻辑备份:对数据库组件(如表等数据库对象)的备份 表:表的结构文件(FRM)、数据文件(MYD)、索引文件(MYI) 从数据库的备份策略角度,备份可分为 1.完全备份 每次对数据进行完整的备份 完全备份:会把服务器内的所有数据全部备份,每次都这么执行 优点:安全 缺点:数据备份冗余,占用磁盘空间 2.差异备份 备份那些自从上次完全备份之后被修改过的文件 前提是必须要备份一次完全备份,接下来每次只备份基于完全备份的基础上被修改过的文件 3.增量备份 只有那些在上次完全备份或者增量备份后被修改的文件才会被备份 差异备份与增量备份比较: 相同点:基础都是完全备份 不同点:差异备份只参考基础的完全备份, 增量备份是参考上一次的数据备份与当前状态进行对比,备份被修改的文件 增量备份效率更高,空间利用率很高,但是在安全性能不高 mysql完全备份

mysqldump 数据库备份

本小妞迷上赌 提交于 2020-01-09 20:48:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> mysqldump:数据库备份程序 有3种方式来调用 mysqldump : mysqldump [options] db_name [tables] mysqldump [options] ---database DB1 [DB2 DB3...] mysqldump [options] --all--database 如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库。 备份一个数据库. mysqldump -uroot -p123456 mysql > mysql_backup.sql 这里备份了database mysql的结构和数据,生成的sql文件不会有创建database mysql的语句。 可以用一个命令备份mysql,test多个数据库: mysqldump -u root -p123456 --database mysql test > my_databases.sql 生成的sql文件有创建database mysql和test的语句 备份所有数据库: mysqldump -u root -p123456 --all-databases > all_databases.sql 导出mysql这个数据库的结构 mysqldump -u

Import MySQL dump into R (without requiring MySQL server)

回眸只為那壹抹淺笑 提交于 2020-01-09 11:46:30
问题 Packages like RMySQL and sqldf allow one to interface with local or remote database servers. I'm creating a portable project which involves importing sql data in cases (or on devices) which do not always have access to a running server, but which do always have access to the latest .sql dump of the database. The goal seems simple enough: import an .sql dump into R without the involvement of a MySQL server. More specifically, I'd like to create a list of lists in which the elements correspond

Import MySQL dump into R (without requiring MySQL server)

心不动则不痛 提交于 2020-01-09 11:46:11
问题 Packages like RMySQL and sqldf allow one to interface with local or remote database servers. I'm creating a portable project which involves importing sql data in cases (or on devices) which do not always have access to a running server, but which do always have access to the latest .sql dump of the database. The goal seems simple enough: import an .sql dump into R without the involvement of a MySQL server. More specifically, I'd like to create a list of lists in which the elements correspond

mysql备份与还原

[亡魂溺海] 提交于 2020-01-07 19:25:06
mysql备份与还原 一、备份常用操作基本命令 1、备份命令mysqldump格式 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql 2、备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。 mysqldump --add-drop-table -uusername -ppassword -database databasename > backupfile.sql 3、直接将MySQL数据库压缩备份 mysqldump -hhostname -uusername -ppassword -database databasename | gzip > backupfile.sql.gz 4、备份MySQL数据库某个(些)表 mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql 5、同时备份多个MySQL数据库 mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2

mysql 日志文件(转于我的同学和大家共同分享)

穿精又带淫゛_ 提交于 2020-01-07 08:17:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 由于最近碰到一个日志清理的问题,所以就花时间写了这篇文章,严格来说只是学习笔记。 1.通用日志文件 默认安装情况下不开启,即不会生成这个文件,需要手工开启,可直接在命令行中设置:set global general_log = ON。即时生效。重启MySQL服务后,会关闭,需重新启动。 也可在配置文件my.ini中设置:general_log=on。这样每次启动MySQL服务都会自动启动。 这样MySQL就会在data目录下创建一个和你计算机同名的日志文件:计算机名-PC.log。 以后你对MySQL做的任何操作,都会被记录到这个日志文件中。 2.二进制日志文件 默认安装情况下不开启,即不会生成这个文件,需要手工开启,在配置文件my.ini中的[mysqld]后面加入:log_bin=binary_log。这里的binary_log为二进制文件名。 这样MySQL就会在data目录下创建如下两个文件:binary_log.000001和binary_log.index。 以后对MySQL表做的任何更新,都会被记录里到这个日志文件中。 当在data目录下手工删除了某些二进制日志文件时,一定要同时删除binary_log.index里面的对应记录,否则mysql服务将无法启动。 可在命令行中通过 show

Running MySQLdump for XAMPP in CentOS

醉酒当歌 提交于 2020-01-07 02:16:33
问题 Hopefully I am posting it in the right forums.. Basically, I am trying to run a script that will do a MySQL database dump which works when I run it manually, but crontab doesn't seem to run that particular script for some reason. My crontab is setup as such (for testing purposes, running every minute): * * * * * /opt/lampp/htdocs/xyz/backup/backup.sh The script is setup as such: #!/bin/bash # Script to backup the database /opt/lampp/bin/mysqldump -u root xyz > backup_$(date +%Y%m%d).sql echo