视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
linux系统下MYSQL备份恢复_MySQL
2020-11-09 17:25:56 责编:小采
文档


  数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。

  一、 用命令实现备份

  MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份,下面假设要备份tm这个数据库:

  #mysqldump -u root -p tm > tm_050519.sql

  按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:

  #mysqldump -u root -p tm | gzip > tm_050519.sql.gz

  系统崩溃,重建系统时,可以这样恢复数据:

  #mysql -u root -p tm < tm_050519.sql

  从压缩文件直接恢复:

  #gzip < tm_050519.sql.gz | mysql -u root -p tm

  当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。

  二、利用crontab,系统每天定时备份mysql数据库

  利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。

  1、创建保存备份文件的路径/mysqldata

  #mkdir /mysqldata

  2、创建/usr/sbin/bakmysql文件

  #vi /usr/sbin/bakmysql

  输入

  rq=` date +%Y%m%d `

  tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

  或者写成

  rq=` date +%Y%m%d `

  mysqldump --all-databases -u root -p密码 > /mysqldata/mysql$rq.sql

  /var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同

  /mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。

  3、修改文件属性,使其可执行

  # chmod +x /usr/sbin/bakmysql

  4、修改/etc/crontab

  #vi /etc/crontab

  在下面添加

  01 3 * * * root /usr/sbin/bakmysql

  表示每天3点钟执行备份

  5、重新启动crond

  # /etc/rc.d/init.d/crond restart

  完成。

  这样每天你在/mysqldata可以看到这样的文件

  mysql20040619.tar.gz

  你直接下载就可以了。

  cd /usr/local/mysql/bin/

  mysqldump -u用户名 -p密码 --databases 库名 >/backdata/ddd07-11-15.sql

  恢复语法

  mysqladmin create target_db_name

  mysql target_db_name < backup-file.sql

  即 mysql 库名 < 文件名

  完成,注意,-u后面没有空格, 你只需要把上面的中文换成你的相关信息就可以了!

下载本文
显示全文
专题