MySQL 5.7 误删sys schema 如何恢复?
sys schema 是MySQL 5.7 引入的一个数据库,sys schema中有大量视图用于监控及获知MySQL系统状态、锁信息、索引信息等等。 删除sys schema不会影响MySQL数据库的正常运行。因此,误删sys schema后不要恐慌,恢复它就可以。 如果sys schem被误删了怎么办,如何恢复? 最初,本想用MySQL安装目录下的 ./mysql/share/mysql_s
Read moresys schema 是MySQL 5.7 引入的一个数据库,sys schema中有大量视图用于监控及获知MySQL系统状态、锁信息、索引信息等等。 删除sys schema不会影响MySQL数据库的正常运行。因此,误删sys schema后不要恐慌,恢复它就可以。 如果sys schem被误删了怎么办,如何恢复? 最初,本想用MySQL安装目录下的 ./mysql/share/mysql_s
Read more1、查出满足条件的表,并确认没问题 条件1:表在db1数据库下; 条件2:包含前缀tmp_log_node_ ; 条件3:create_time <‘2019-01-01 00:00:00’)
1 |
mysql -uroot -p'xx' -D db1 -Bse "select table_name from information_schema.tables where table_schema='db1' and table_name like 'tmp_log_node_%' and create_time <'2019-01-01 00:00:00'" |
参数说明: -B 批量处理 -s silent 静默,不输出标题和格式化符号 -e 执行命令 2、导出满足条件
Read more在实际工作中,一个MySQL实例中可能有多个database。而我们备份时,通常采用完全备份,将所有database都备份到一个文件中。 但是,偶尔会遇到只恢复一个database或者一个表的情况。怎么解决呢? 一、利用全备恢复一个库(database)的数据 案例:朋友在群里问, MySQL全库备份。如何只恢复一个库? 1、采用–one-database 选项。不建议使
Read more在工作中,经常有开发提这样的需求:将A库中的表和数据导入到B库中。这里个记录,方便以后查找。 1、创建新数据库及用户
1 2 3 4 5 |
CREATE DATABASE db_B ; GRANT ALL PRIVILEGES ON db_B.* TO user_B@'10.%.%.%' identified by "xxxx"; flush privileges; |
2、测试用户登录
1 |
mysql -uuser_B -p'xxx' -h 10.0.97.121 |
3、导出源库数据
1 |
mysqldump -uuser_A -p -S /export1/data/mysql/mysql.sock -B db_A --single-transaction --no-create-db>/tmp/db_A.dmp |
参数说明: –single-tran
Read more一、安装 Xtrabackup 下载地址 https://www.percona.com/software/mysql-database/percona-xtrabackup 建议使用二进制包,简单方便 解压安装
1 |
# tar -xvf percona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz |
添加到/etc/profile
1 |
export PATH=/root/percona-xtrabackup-2.2.9-Linux-x86_64/bin |
二、创建备份专用账号
Read morePercona XtraBackup 基于InnoDB引擎的故障恢复功能。它拷贝InnoDB的数据文件,但是数据文件内存的数据并不是一致的;但是通过 XtraBackup 执行故障恢复确保了数据的一致性。 Percona XtraBackup 保证数据一致性 是通过InnoDB的redo log(也叫事务日志 transaction log)。redo log记录了InnoDB 数据的每次改变。当
Read more