Linux下mysql数据库备份方法

   mysqldump -u root -p db1 db1.sql(将数据库db1备份到db1.sql中)提示输入密码,完成即可。导入 需要先创建一个空数据库 mysql -u root -p(输入密码后进入mysql)create database db1;(创建一个名为db1的数据库)exit(退出mysql)命令:mysql -u 用户名 -p 数据库 ...
Linux下mysql数据库备份方法
通过mysql提供的功能
导出
命令:
mysqldump -u 用户名 -p 数据库 数据库.sql
示例:
                代码如下    复制代码    

   mysqldump -u root -p db1 db1.sql(将数据库db1备份到db1.sql中)
提示输入密码,完成即可。
导入
需要先创建一个空数据库
mysql -u root -p(输入密码后进入mysql)
create database db1;(创建一个名为db1的数据库)
exit(退出mysql)
命令:
mysql -u 用户名 -p 数据库 数据库.sql
示例:
                代码如下    复制代码    

   mysql -u root -p db1 db1.sql(从备份文件db1.sql中导入数据到数据库db1中)
提示输入密码,完成即可。
通过拷贝文件
如果数据库特别大,可以使用拷贝的方式进行备份,不过不同的操作系统间可能会导致不兼容。
导出
进入mysql目录,打包需要备份的数据库目录
示例:
                代码如下    复制代码    

   cd /var/lib/mysql(进入mysql目录)
   tar -zcvf db1.tar.gz db1(打包db1目录,如果提示没有权限,在前面加上sudo,提示输入密码后即可)
导入
首先创建一个空数据库,将打包的文件拷贝到mysql目录后解压
示例:
                代码如下    复制代码            
mysql -u root -p(输入密码后进入mysql)
   create database db1;(创建一个名为db1的数据库)
   exit(退出mysql)
   cp db1.tar.gz /var/lib/mysql(将打包文件拷贝到mysql目录下)
   cd /var/lib/mysql(进入mysql目录)
   tar -zxvf db1.tar.gz(解压到当前目录)
后现在linux中脚本
                代码如下    复制代码    

   #!/bin/bash
   #Mysql autobackup shell#write by tuspark.cn
   #-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等
   dbuser=root
   dbpasswd=XXXXX
   dbserver=localhost
   dbname=XXXXX
   dbopt=--opt
   backupdir=/dcbackup/
   #-------------------是否开启FTP远程备份,0为否,1为是。
   copytoftp=1
   ftpserver=XXXXX
   ftpuser=XXXXX
   ftppasswd=XXXXX
   #-------------------以下参数
   fileprefix=dcradiusdump
   filename=$backupdir`date +%F`.sql
   newfile=$fileprefix-`date +%F`.tar.gz
   keepdays=10
   #-------------------以下为备份时的日志
   logfile=/var/log/mysqlbackup.log
   logtmp=/var/log/mybackup.tmp
   #===============================================
   if [ ! -d $backupdir ]
   then
   echo "$backupdir is not exist, then make ..." $logfile
   mkdir -p $backupdir
   fi
   echo "start===================================="$logfile
   echo "Beginning backup `date '+%F %T'`" $logfile
   echo "Delete $keepdays days ago files ..." $logfile
   find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;
   echo "Deleted Backup file is :"$logfile
   cat $logtmp $logfile
   echo "Delete old file Success!" $logfile
   if [ -f $backupdir$newfile ]
   then
   echo "$newfile backup exist, backup stop ..." $logfile
   else
   if [ -z $dbpasswd ]
   then
   mysqldump -u$dbuser -h$dbserver $dbopt $dbname $dumpfilename
   else
   mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname $dumpfilename
   fi
   tar czvf $backupdir$newfile $dumpfilename $logfile 21
   echo "$backupdir$newfile Backup Success!" $logfile
   rm -fr $dumpfilename
   if [ $copytoftp = 1 ]; then
   if [ -z $ftpserver ];then
   echo "Ftp Server not set,Copy to Ftp Failed ..." $logfile
   exit 1
   elif [ -z $ftpuser ];then
   echo "Ftp user not set, Copy to Ftp Failed ..." $logfile
   exit 2
   elif [ -z $ftppasswd ]; then
   echo "Ftp password not set, Copy to Ftp Failed ..." $logfile
   exit 3
   else
   echo "Start copy to Ftp server ...." $logfile
   ftp -n$logfile
   fi2023-09-12
mengvlog 阅读 32 次 更新于 2025-08-11 01:12:03 我来答关注问题0
  •  深空见闻 Linux下mysql数据库备份方法

    在Linux下,MySQL数据库的备份方法主要有两种:使用mysqldump命令导出和使用文件拷贝。以下是这两种方法的详细步骤:一、使用mysqldump命令导出 备份数据库:使用mysqldump命令将数据库导出到SQL文件中。示例命令:mysqldump -u 用户名 -p 数据库名 数据库名.sql。如:mysqldump -u root -p db1 db1.sql。

  • 一、定期备份 创建备份文件夹:使用命令mkdir /mysql/mysqldata_backup来创建一个专门用于存放MySQL备份文件的文件夹。创建并编辑备份脚本:在/usr/sbin/路径下创建一个名为bakmysql的文件,使用命令vi /usr/sbin/bakmysql进入编辑状态。在文件中输入以下内容,用于生成带日期后缀的备份文件名,并将MySQL数...

  • 一、用命令实现备份MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份。按提示输入密码,这就把tm数据库所有的表结构和# mysqldump -u root -p tm > tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:# mysqldum...

  •    mysqldump -u root -p db1 db1.sql(将数据库db1备份到db1.sql中)提示输入密码,完成即可。导入 需要先创建一个空数据库 mysql -u root -p(输入密码后进入mysql)create database db1;(创建一个名为db1的数据库)exit(退出mysql)命令:mysql -u 用户名 -p 数据库 ...

  • 这是一个用于Linux环境下的MySQL数据库自动备份的Shell脚本示例:!/usr/bin/env bash sqlname=bak_`date +%Y%m%d%H%M%S`.sql src_dir=/home/backup/ dbchar=utf8 dbhost=localhost dbname=mydatabase dbuser=root dbpass=mypassword mysqldump --opt --default-character-set=$dbchar -u$dbuser...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部