方法一:非常规方法
可以实现脚本操作.
直接备份data目录,这种备份方法很简单,还原操作也很简单,将备份的data目录下的文件全部拷贝过来,就完成了数据库的还原,包括数据库,表,用户,及其权限等等都可以完美还原.这种方法可以应对数据库服务器瘫痪,但是又无其它备份可用,可以先把数据库目录直接拷贝出来,然后部署完环境后,直接覆盖目录即可.方法二:通过mysqldump备份
可以实现脚本操作.
1)备份某个数据库或者某个数据库的某几个表:mysqldump [OPTIONS] database [tables]
比如:备份db1库
mysqldump -u root -p db1 > db1.sql
备份db1库的tb1,tb2表
mysqldump -u root -p db1 tb1 tb2 >db1-1.sql
2)备份某几个数据库:
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
比如:备份db1,db2数据库
mysqldump -u root -p --databases db1 db2 > bak01.sql
3)备份所有数据库:
mysqldump [OPTIONS] --all-databases [OPTIONS]
比如:备份所有数据库
mysqldump -u root -p --all-databases > all_db.sql
这种方法备份的文件内容都是sql语句,可以直接使用mysql命令导入,即用如下形式:
mysql -u root -p database < bak.sql
方法三:使用binlog日志备份还原
1,首先要开启binlog日志
表象就是在mysql根目录下会有诸如binlog.index,binlog.000001,binlog.00000等等的文件存在show variables like '%log_bin%';
mysqlbinlog binlog.000008
可以发现最后有这么一部分内容mysqlbinlog binlog.000008 --stop-datetime="2020-11-26 13:24:16" -d db1|mysql -u root -p
登入mysql,查看数据库又回来了2)使用位置点还原数据库:mysqlbinlog binlog.000008 --stop-position="7242045" -d db1|mysql -u root -p
同样查看数据库,已经回复成功了.
方法四:使用第三方工具备份
1)phpmyadmin
该方法需要部署一个phpmyadmin工具,可视化web界面,其中的"导出","导入"功能即可备份,还原数据库,手动操作比较直观,方便.2)导航猫(navicat)这个是windows平台下的一个数据库管理软件,是收费的,但是功能很强大,除了手动备份数据,还可以方便的制定定时备份计划等等.除了mysql外,还支持很多其它常见数据库.3)其它集成工具如果是用来部署和管理web站点,那么可以选择一些集成工具,这些集成管理工具在提供了数据库管理功能的同时还兼有其它功能,比如windows平台常用的phpstudy,护卫神等等,Linux平台的BT(宝塔面板)等等.
精彩评论