mysql崩溃如何恢复数据库
mysql崩溃后有两种方式可恢复数据库。
第一种方式是采用备份文件恢复。前提是定期对数据库进行了备份。在管理界面上使用备份还原功能,选取最新的备份文件即可。
第二种方式是采用日志恢复。前提是开启了mysql的binlog功能。在控制台界面用restore命令即可完成恢复。
MysqlInnoDB删除数据后释放磁盘空间的方法
Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。
如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间。
运行OPTIMIZE TABLE 表名后,虽然最后会报Table does not support optimize, doing recreate + analyze instead,但其实已经成功了:)-------------------------------------------------------------如果没有设置这个参数,又想释放空间,彻底释放这些已经删除的数据,需要把数据库导出,删除InnoDB数据库文件,然后再倒入。下面是基本的步骤:
1 使用mysqldump命令将InnoDB数据库导出2 停止MySQL3 删除所有InnoDB数据库文件和日志4 启动MySQL并自动重建InnoDB数据库文件和日志文件5 导入前面备份的数据库文件# 备份数据库:mysqldump -uroot -proot --quick --force --all-databases > mysqldump.sql# 停止数据库service mysqld stop# 删除这些大文件rm /usr/local/mysql/var/ibdata1rm /usr/local/mysql/var/ib_logfile*# 手动删除除Mysql之外所有数据库文件夹,然后启动数据库service mysqld start# 还原数据mysql -uroot -proot < mysqldump.sql
Mysql数据怎么保存
Mysql的数据常常通过备份或导出的方式进行保存。以下分别介绍两种常用的保存方式:
1. 备份数据
备份数据可以将Mysql数据库的整个数据保存到备份文件中。其中,备份方式可分为逻辑备份和物理备份两种方法。
- 逻辑备份:具体操作就是将数据导出成sql文件,包括表结构和数据。
- 备份命令:`mysqldump -u用户名 -p密码 数据库名 > 备份.sql`
- 还原数据:`mysql -u用户名 -p密码 数据库名 < 备份.sql`
- 物理备份:具体操作方式就是将数据库的物理文件进行复制。
- 备份命令(一般使用copy命令):`cp -R /your/mysql/data/dir /backup/target/dir`
- 还原数据:将备份文件复制到MYSQL的数据目录下并覆盖原有的文件
2. 导出数据
数据导出是将指定的数据保存到指定的文件中的操作,常用于数据的备份迁移等。
- 数据导出命令例如:
- 导出整个数据库:`mysqldump -u username -p password --databases dbname > data.sql`
- 导出表数据:`mysqldump -u username -p password dbname tablename > data.sql`
- 导出查询结果:`mysql -u username -p password -e "select * from table where condition" dbname > data.sql`
Mysql的备份和导出数据都可以使用脚本实现自动化,也可以使用第三方备份软件实现自动备份,以提高数据的安全性和完整性。