mysql数据自动备份
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于mysql数据自动备份内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在mysql数据自动备份相关知识领域提供全面立体的资料补充。同时还包含 machine_start、macox、magellan 的知识内容,欢迎查阅!
mysql数据自动备份相关知识
-
linux下mysql自动备份数据库与自动删除临时文件一、每日23:00自动删除临时文件首先查看一下crontab的任务列表:crontab -l然后新建:crontab -e添加一行:00 03 * * * rm -rf /www/cmstest/my120/public/scripts/jpgraph/*保存退出。重启服务: /etc/rc.d/init.d/crond restart二、每日24:00自动备份数据库利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。1、创建保存备份文件的路径/mysqldata#mkdir /mysqldata2、创建/usr/sbin/bakmysql文件查找数据库库文件的路径:一般都是:/var/lib/mysql,或者,/usr/local/mysql/var查找方法:1、/usr/local/mysql/bin/mysql -u root -p 进入数据库2、输入:show databases;3、这是可以查看到所有的数据库,然后4、find /
-
Linux实现MySQL数据库凌晨自动备份Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件。 定时调度使用crontab 1 login_user="root" 2 3 login_passwd="" 4 5 vDate=date +%Y%m%d 6 7 backup_dir="/home/data/backups/"$vDate"/" 8 9 echo $backup_dir 10 11 if [ ! -d $backup_dir ];then 12 mkdir -p $backup_dir 13 fi 14 15 # 将需要备份的数据放入 16 db_array=("dbName1" "dbName1" "dbNa
-
mysql数据库备份命令分享(mysql压缩数据库备份)备份MySQL数据库的命令复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。复制代码 代码如下:mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz备份MySQL数据库某个(些)表复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename specific_table1
-
mysql数据库备份搭建mysql主从结构实现数据的自动备份完全备份/恢复备份操作:mysqldump命令备份命令格式:mysqldump 源库名 > 路径 /xxx.sql 源库名的表示 – --all-databases 或 -A 所有库 [root@host ~]# mysqldump -uroot -p123456 -A >/mybakdata/all.sql – 数据库名 单个库 eg:[root@host ~]# mysqldump -uroot -p123456 db1 user >/mybakdata/db1.user.sql – 数据库名 表名 单张表 [root@host ~]# mysqldump -uroot -p123456 db1 user >/mybakdata/db1.user.sql – -B 数据库 1 数据库 2 备份多个库 [root@host ~]# mysqldump -u root -p123456 -B db1 &nbs
mysql数据自动备份相关课程
mysql数据自动备份相关教程
- MySQL 数据库的备份与恢复 数据库的备份与恢复,一直都是DBA最为重要的工作,任何生产环境的数据库都必须有完整的备份方案与恢复测试。本小节将主要介绍MySQL的备份与恢复。
- MySQL 的物理备份 物理备份的原理通常是基于物理文件的拷贝,和逻辑备份相比,它的最大优点是备份速度更快。本小节将主要介绍 MySQL 的物理备份方法。
- MySQL 的逻辑备份 逻辑备份的最大优点是对于所有存储引擎都可以用同样的方法来备份,是目前中小型系统最常使用最简单的备份方式。本小节将主要介绍 MySQL 的逻辑备份。
- 2. 常用的逻辑备份场景 MySQL 中,mysqldump 是常用的逻辑备份工具。以下是常用的备份场景:备份所有数据库shell> mysqldump [options] --all-databases实际案例:备份所有数据库[mysql@localhost ~]$ mysqldump -uroot -p --all-databases > /tmp/all_databases.sqlEnter password: [mysql@localhost ~]$ ls -lrt all_databases.sql-rw-r--r-- 1 mysql mysql 136106866 Jul 23 17:02 all_databases.sql备份一个或多个数据库shell> mysqldump [options] --databases db_name ...实际案例:备份数据库 tempdb[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb > /tmp/db_tempdb.sqlEnter password: [mysql@localhost ~]$ ls -lrt db_tempdb.sql -rw-r--r-- 1 mysql mysql 19602842 Jul 23 17:17 db_tempdb.sql实际案例:备份数据库 tempdb 和 test111[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb test111 > /tmp/db_tempdb_test111.sqlEnter password: [mysql@localhost ~]$ ls -lrt db_tempdb_test111.sql -rw-r--r-- 1 mysql mysql 19604085 Jul 23 17:23 db_tempdb_test111.sql备份一个或多个表shell> mysqldump [options] db_name [tbl_name ...]实际案例:备份数据库tempdb的表customer[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer > /tmp/table_customer.sqlEnter password: [mysql@localhost ~]$ ls -lrt table_customer.sql -rw-r--r-- 1 mysql mysql 2512 Jul 23 17:35 table_customer.sql实际案例:备份数据库 tempdb 的表 customer 和 t1[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer t1 > /tmp/table_customer_t1.sqlEnter password: [mysql@localhost ~]$ ls -lrt table_customer_t1.sql -rw-r--r-- 1 mysql mysql 3141 Jul 23 17:37 table_customer_t1.sql备份表结构-不包含数据实际案例:备份数据库 tempdbd 的表结构:[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb -d > /tmp/structure_tempdb.sqlEnter password: [mysql@localhost ~]$ ls -lrt structure_db_tempdb.sql -rw-r--r-- 1 mysql mysql 9987 Jul 23 17:40 structure_db_tempdb.sql实际案例:备份数据库tempdb表customer的表结构[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer -d > /tmp/structure_table_customer.sqlEnter password: [mysql@localhost ~]$ ls -lrt structure_table_customer.sql -rw-r--r-- 1 mysql mysql 2230 Jul 23 17:48 structure_table_customer.sql
- 3. 备份方案的设计 将RPO和RTO定义清楚,可以更好地指导备份策略。一般来说,能承受的数据丢失越多,备份就越简单。一个好的备份方案,需要考量以下几点:对于较大数据库(个人经验是整个数据文件大于50GB),物理备份是必须的,备份工具Percona XtraBackup和MySQL Enterprise Backup是比较好的选择。对于较小的数据库,逻辑备份就可以满足备份需求,备份工具mysqldump是比较好的选择;确保MySQL的log-bin选项是打开的,有了binlog,MySQL才能做完整的恢复、基于时间点的恢复、以及基于位置的恢复;备份二进制日志,用于故障时间点的恢复;在存储资源许可的条件下,保留足够多的备份集;定期从备份中进行恢复测试;需确保备份文件是有效的,是可以恢复的;通过恢复演练,测算恢复锁需要的实际时间,以及所需要的资源,如CPU、磁盘空间、内存、网络等。
- 2. InnoDB 的热备 目前,比较流行的 InnoDB 存储引擎的热备工具是 Xtrabackup。 xtrabackup 是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQL、Percona server 和 MariaDB,开源免费,是目前较为受欢迎的主流备份工具 ,它能对 InnoDB 数据库和 XtraDB 存储引擎的数据库非阻塞地备份(对于 MyISAM 的备份同样需要加表锁)。Xtrabackup 优点:备份速度快,物理备份可靠;备份过程不会打断正在执行的事务(无需锁表);能够基于压缩等功能节约磁盘空间和流量;自动备份校验;还原速度快;可以流传将备份传输到另外一台机器上;在不增加服务器负载的情况备份数据。实际案例:Xtrabackup 全量备份:[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --no-timestamp /mysql/dbbackup/200823 21:11:33 innobackupex: Starting the backup operationIMPORTANT: Please check that the backup run completes successfully. At the end of a successful backup run innobackupex prints "completed OK!".200823 21:11:33 version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;port=3306;mysql_socket=/mysql/tmp/mysql.sock' as 'root' (using password: YES).200823 21:11:33 version_check Connected to MySQL server200823 21:11:33 version_check Executing a version check against the server...200823 21:11:33 version_check Done.200823 21:11:33 Connecting to MySQL server host: localhost, user: root, password: set, port: 3306, socket: /mysql/tmp/mysql.sock......200823 21:11:48 Finished backing up non-InnoDB tables and files200823 21:11:48 [00] Writing /mysql/dbbackup/xtrabackup_binlog_info200823 21:11:48 [00] ...done200823 21:11:48 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...xtrabackup: The latest check point (for incremental): '14533834254'xtrabackup: Stopping log copying thread..200823 21:11:48 >> log scanned up to (14533834263)200823 21:11:49 Executing UNLOCK TABLES200823 21:11:49 All tables unlocked200823 21:11:49 [00] Copying ib_buffer_pool to /mysql/dbbackup/ib_buffer_pool200823 21:11:49 [00] ...done200823 21:11:49 Backup created in directory '/mysql/dbbackup/'MySQL binlog position: filename 'mysql-bin.000022', position '190', GTID of the last change '294ae4cf-be0f-11e7-8269-fa163e665653:1-2769,a373c879-3a2c-11e8-bb78-fa163e665653:1-5,aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-40:1000012-1000013'200823 21:11:49 [00] Writing /mysql/dbbackup/backup-my.cnf200823 21:11:49 [00] ...done200823 21:11:49 [00] Writing /mysql/dbbackup/xtrabackup_info200823 21:11:49 [00] ...donextrabackup: Transaction log of lsn (14533834254) to (14533834263) was copied.200823 21:11:49 completed OK!备份完成后,备份目录将产生如下文件:[root@localhost ~]$ ls -lh /mysql/dbbackup/total 101M-rw-r----- 1 root root 433 Aug 23 21:11 backup-my.cnf-rw-r----- 1 root root 42K Aug 23 21:11 ib_buffer_pool-rw-r----- 1 root root 100M Aug 23 21:11 ibdata1drwxr-x--- 2 root root 4.0K Aug 23 21:11 mysqldrwxr-x--- 2 root root 4.0K Aug 23 21:11 performance_schemadrwxr-x--- 2 root root 12K Aug 23 21:11 sysdrwxr-x--- 2 root root 4.0K Aug 23 21:11 tempdb-rw-r----- 1 root root 166 Aug 23 21:11 xtrabackup_binlog_info-rw-r----- 1 root root 121 Aug 23 21:11 xtrabackup_checkpoints-rw-r----- 1 root root 703 Aug 23 21:11 xtrabackup_info-rw-r----- 1 root root 2.5K Aug 23 21:11 xtrabackup_logfile实际案例:Xtrabackup 增量备份:在进行增量备份之前,首先要有一次全量备份,第一次增量是基于全备份,之后的增量是基于上一次的增量备份。[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --no-timestamp /mysql/hotbackup/base-- 从xtrabackup_checkpoints文件可以看出,备份类型为全备份,lsn号从0至14533834254[root@localhost ~]# cat /mysql/hotbackup/base/xtrabackup_checkpoints backup_type = full-backupedfrom_lsn = 0to_lsn = 14533834254last_lsn = 14533834263compact = 0recover_binlog_info = 0表 customer 插入新的数据:mysql> insert into customer(id,last_name,first_name,birth_date,gender,balance) values(3,333,333,'2020-08-10',1,30);Query OK, 1 row affected (0.00 sec)mysql> insert into customer(id,last_name,first_name,birth_date,gender,balance) values(4,444,444,'2020-09-10',1,40);Query OK, 1 row affected (0.00 sec)第一次增量备份:[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --incremental --no-timestamp /mysql/hotbackup/inc1 --incremental-basedir=/mysql/hotbackup/base-- 从xtrabackup_checkpoints文件可以看出,备份类型为增量备份,lsn号从lsn 14533834254至lsn 14533838790,14533834254为全备份的to_lsn,表示备份从lsn 14533834254以来的增量变化。[root@localhost ~]# cat /mysql/hotbackup/inc1/xtrabackup_checkpoints backup_type = incrementalfrom_lsn = 14533834254to_lsn = 14533838790last_lsn = 14533838799compact = 0recover_binlog_info = 0
mysql数据自动备份相关搜索
-
mac osx
machine_start
macox
magellan
malloc
manifest
manifest文件
map
map 遍历
mapreduce编程
maps google com
margin
margin bottom
margin left
margin right
margin top
marginbottom
marginheight
marginleft
margintop