高端品牌网站建设,太原网站建设的公司,公司网站域名备案,怎么寻找国外客户资源一、数据库备份 数据库备份目的和数据库故障类型 目的#xff1a; 当发生故障时#xff0c;将损失降到最低。保证能够快速从备份数据中恢复#xff0c;确保数据稳定运行。故障类型#xff1a; 程序错误#xff1a;Mysql 服务器端程序故障无法使用。人为误操作#xff1a;…一、数据库备份 数据库备份目的和数据库故障类型 目的 当发生故障时将损失降到最低。保证能够快速从备份数据中恢复确保数据稳定运行。故障类型 程序错误Mysql 服务器端程序故障无法使用。人为误操作权限过大误删除数据。运算错误数据增删改查询 sql 语句错误。磁盘故障磁盘物理损坏存储数据无法读取。不可抗力自然灾害地震、海啸、山洪、台风、火灾等。 物理逻辑角度备份 物理备份 冷备份停止数据库服务对数据存储位置进行备份如/usr/local/mysql/data/。热备份两地三中心数据备份包括主从复制、主主复制、MHA、MGR 等方式。温和备份禁止写入数据允许读取对数据库进行备份最大限度保证数据的完整性。数据库备份策略 完整备份第一次使用备份时间长、速度慢、占用空间大。差异备份在做完整备份后对产生的数据使用差异备份速度快、占用空间小。增量备份针对数据库日志文件进行备份。 备份常见的方式 冷备份可以使用tar、cp等命令。专用工具Mysqldump、Mysqlhotcopy等。第三方工具PXB、Xtrabackup、innobackupex、xbstream等。二进制日志方便将数据恢复到指定的日志或者指定时间范围内。 二、Mysql 数据库备份恢复 Mysql 数据库冷备份 停止数据库服务使用命令[rootcentos01 ~]# systemctl stop mysqld。备份数据使用命令[rootcentos01 ~]# tar zcf /opt/2024_09_12_mysql_data.tar.gz /usr/local/mysql/data。模拟误删除数据使用命令[rootcentos01 ~]# rm -rf /usr/local/mysql/data/*。解压恢复数据使用命令[rootcentos01 ~]# tar zxf /opt/2024_09_12_mysql_data.tar.gz -C /opt/。恢复数据使用命令[rootcentos01 ~]# cp -r /opt/usr/local/mysql/data/* /usr/local/mysql/data/将备份的数据恢复到 Mysql 数据根目录然后使用[rootcentos01 ~]# ls /usr/local/mysql/data/查看数据目录最后使用[rootcentos01 ~]# chown -R mysql:mysql /usr/local/mysql/data/修改数据所有者。启动服务使用命令[rootcentos01 ~]# systemctl start mysql。查询恢复数据使用命令[rootcentos01 ~]# mysql -uroot -ppwd123 -e select * from hb3066.student;;。 mysqldump 备份 mysqldump选项 --databases备份数据库。--all-database备份所有数据库。备份指定的 hb3066 数据库的 student 表使用命令[rootcentos01 ~]# mysqldump -uroot -ppwd123 hb3066 student ./student.sql然后使用[rootcentos01 ~]# less./student.sql查看备份文件。将 student 表恢复到 benet 数据库中使用命令[rootcentos01 ~]# mysql -uroot -ppwd123 -e create database benet;;创建数据库 benet使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e show databases;;查看创建的 benet 数据库然后使用[rootcentos01 ~]# mysql -uroot -ppwd123 benet ./student.sql恢复数据到 benet 数据库最后使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e select * from benet.student;;查询恢复到 benet 数据库的 student 表。对数据库进行备份和恢复使用命令[rootcentos01 ~]# mysqldump -uroot -ppwd123 --databases benet ./benet.sql备份 benet 数据库使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e drop database benet;;模拟删除 benet 数据库使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e show databases;;确认删除 benet 数据库最后使用[rootcentos01 ~]# mysql -uroot -ppwd123 ./benet.sql恢复误删除的数据库 benet并使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e select * from benet.student;;查询 benet 数据库的 student 表。备份所有数据库使用命令[rootcentos01 ~]# mysqldump -uroot -ppwd123 --all-databases ./all_database.sql然后使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e drop database benet;;模拟删除 benet 数据库使用[rootcentos01 ~]# mysql -uroot -ppwd123 -e show databases;;确认删除最后使用[rootcentos01 ~]# mysql -uroot -ppwd123 ./all_database.sql恢复数据库。 增量备份恢复作用和特点 作用对 Mysql 的数据库日志进行备份发生误操作时通过日志实现数据恢复。特点灵活性强恢复简单方便。配置注意事项开启二进制日志使用命令[rootcentos01 ~]# vim /etc/my.cnf在文件中添加[mysqld]和log-binmysql-bin设置二进制日志文件名字。阅读二进制日志使用命令[rootcentos01 ~]# mysqlbinlog /usr/local/mysql/data/mysql-bin.000004。切割日志生成新的二进制日志使用命令[rootcentos01 ~]# mysqladmin -uroot -ppwd123 flush-logs。插入最新数据使用命令[rootcentos01 ~]# mysql -uroot -ppwd123进入 Mysql 命令行然后使用mysql insert into benet.student values (张三,男,16,333333333333333333);、mysql insert into benet.student values (张四,男,16,335555533333333333);、mysql insert into benet.student values (张五,男,19,335999999333355555);插入数据。备份二进制日志使用命令[rootcentos01 ~]# cp /usr/local/mysql/data/mysql-bin.000005./。 增量恢二进制日志恢复 模拟删除数据使用命令[rootcentos01 ~]# mysql -uroot -ppwd123 benet ./student.sql。根据二进制日志文件恢复数据使用命令[rootcentos01 ~]# mysqlbinlog --no-defaults./mysql-bin.000005 | mysql -uroot -ppwd123。 增量二进制日志基于位置恢复数据 位置选项 --stop-position结束位置往前恢复。--start-position从前往后恢复。模拟删除数据使用命令[rootcentos01 ~]# mysql -uroot -ppwd123 benet ./student.sql。模拟从前往后恢复数据使用命令[rootcentos01 ~]# mysqlbinlog./mysql-bin.000005 | more读取二进制日志然后使用[rootcentos01 ~]# mysqlbinlog --start-position 4./mysql-bin.000005 | mysql -uroot -ppwd123从前往后恢复。模拟从后往前恢复数据再次模拟删除数据后使用命令[rootcentos01 ~]# mysqlbinlog --stop-position 620./mysql-bin.000005 | mysql -uroot -ppwd123。 增量二进制日志基于时间恢复数据 时间选项 --start-datetime起始时间往后恢复。--stop-datetime结束时间往前恢复。起始时间往后恢复数据模拟删除数据后使用命令[rootcentos01 ~]# mysqlbinlog --start-datetime2024-09-12 19:22:01./mysql-bin.000005 | mysql -uroot -ppwd123。结束时间往前恢复数据模拟删除数据后使用命令[rootcentos01 ~]# mysqlbinlog --stop-datetime2024-09-12 19:29:07./mysql-bin.000005 | mysql -uroot -ppwd123。 通过以上各种备份恢复方式我们可以在不同的情况下有效地保护和恢复 Mysql 数据库中的数据确保数据的安全性和可用性。