-[root@host51 ~]#mkdir /databak //创建一个备份目录
-[root@host51 ~]#cp -r /var/lib/mysql/mysql /databak/mysql.bak //把要备份的数据库拷贝到新文件并改名(也可以使用压缩包备份)
-
-[root@host51 ~]#tar -zcvf /databak/mysql.bak.tar.gz /var/lib/mysql/mysql
-[root@host51 ~]#rm -rf /var/lib/mysql/mysql //把数据库删除
数据库的恢复
-[root@host51 ~]#cp -r /databak/mysql.bak /var/lib/mysql/mysql
-[root@host51 ~]#chown -R mysql:mysql /var/lib/mysql/mysql //修改所有 者和所属组
-[root@host51 ~]#systemctl stop mysqld //停服务
-[root@host51 ~]#systemctl start mysqld //再启服务
-[root@host51 ~]#ls /var/lib/mysql/mysql //查看数据的恢复
逻辑备份( 在执行备份命令时,根据备份的库表及数据生成对应的sql命令,把sql存储到指定的文件里。
当数据丢失时 可以执行保存sql命令的文件 把数据重新写回数据库里)
- 语法格式:mysqldump 源库名 > 路径 /xxx.sql
- mysqldump -u用户名 -p密码 --all-databases 或 -A //备份一台服务器上的
所有库
- 恢复操作:mysql 目标库名 < 路径 /xxx.sq
- 完全备份数据
- [root@host51 ~]#mkdir -p /mydatabak
- [root@host51 ~]#mysqldump -u用户名 -p密码 源库名 > /mydatabak
/源库名.sql
- [root@host51 ~]# mysqldump -u用户名 -p密码 源库名 源表名 >
/mydatabak/源库名-源表名.sql
- 完全恢复数据:
- [root@host51 ~]#mysql -u用户名 -p密码 源库名 < /mydatabak/源库
名.sql
- 使用source 命令恢复数据库(需要先建立数据库)
- mysql> create database bbsdb;
- mysql> use bbsdb;
- mysql> source /mydatabak/studb.sql
例:要求每周一晚上18:00备份studb库的所有数据到本机的/dbbak目录下,备份文件名称要求如下 日期_库名.sql
- [root@host51 ~]#vim /root/bakstudb.sh
- #!/bin/bash
day=`date +%F`
if [ ! -e /dbbak ];then
mkdir /dbbak
fi
mysqldump -uroot -p654321 studb > /dbbak/${day}_studb.sql
- [root@host51 ~]#crontab -e
- [root@host51 ~]#systemctl restart crond
数据库的管理和恢复
最新推荐文章于 2024-07-22 23:37:14 发布