包含Linux下mysql备份加密的帖子
文章内容列表:
- 1、LINUX下如何直接备份MYSQL数据库?
- 2、Linux上mysql的备份与恢复
- 3、Linux下mySQL数据库的备份方法和脚本?
- 4、Linux下MySQL数据库备份工具有哪些?
LINUX下如何直接备份MYSQL数据库?
我希望这篇文章对您有用。学会赚钱。我刚刚用谷歌搜索了你的问题。
使用命令进行备份
MySQLl提供了mysqldump命令,我们可以使用它。数据备份。
根据提示输入密码。这会将tm数据库的所有表结构和#mysqldump -u root -p tm tm_050519.sql数据备份到tm_050519.sql。由于备份必须连续进行,如果数据量会占用很多空间的话,可以使用gzip来压缩数据。命令为:
# mysqldump -u root -p tm | gzip tm_050519.sql.gz
系统崩溃。在系统重建过程中,您可以按如下方式恢复数据:
# mysqldump -u root -p tm tm_050519.sql
直接从压缩文件恢复:
#gzip tm_050519z.sql.gz。 mysqldump -u root -p tm
当然,还有很多更直观的MySQL工具。 phpMyAdmin等备份和恢复功能使用起来非常方便。但我认为mysqldump是最基本、最通用的。
2。使用 crontab,系统每天定期对 mysql 数据库进行备份。
利用系统crontab定期执行备份文件,并按日期保存备份结果,以达到备份目的。
1。创建备份文件保存路径 /var/backup/mysqlbak
# mkdir -p /var/backup/mysqlbak
2.创建 /usr/sbin/bakmysql
#vi /usr /sbin/bakmysql.sh
#!/bin/bash
# mysql 备份脚本
cd /ql/backup/my 和 dateDIR=`日期 +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 - e“显示数据库”|
grep -v“数据库”| grep -v “信息架构”`
do
/usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i |
gzip /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3.更改文件属性使其可执行
# chmod +x /usr /sbin/bakmysql
4。 /etc/crontab
# crontab -e
Add
01 3 * * * root /usr/sbin/bakmysql
#表示每天3个小时进行备份所以在/var/backup/mysqlbak下每天都可以看到保存的sql文件!

linux下Mysql备份与恢复
通常是即时备份。既是主人又是追随者。或者每日增量备份。
本文在Linux下测试,MySQL版本4.1.14。适当修改后可适用于MySQL 4.0、5.0等版本。
本文适用于未启用复制的MySQL。如果启用了复制,则可能不需要采用该备份策略或更改相关参数。
每个人的备份策略可能不同,请根据当前情况进行调整,并通过示例得出结论。请勿复制,以免造成不必要的损失。
我希望你明白这个脚本的作用!
脚本说明
每周备份所有数据,每天备份binlog,即增量备份。
(如果数据较少,每天备份一次整个数据,就这样,可能不需要做增量备份)
作者对shell脚本不是很熟悉,所以他们很多地方都写得很傻:)
启用公寓日记
默认情况下,mysql 4.1只有错误日志,没有其他日志。您可以通过更改配置来打开存储日志。有几种方法,其中一种是在/etc/my.cnf中添加mysqld部分:
[mysqld]
log-bin
日志的主要作用是增量备份或复制(有也可用于其他目的)。
如果要做增量备份,需要打开这个日志。
对于数据库操作频繁的mysql来说,这个日志会很大,可能有好几个。
刷新数据库中的日志或者使用mysqladmin、mysqldump调用flush-logs并使用delete-master-logs参数,这些日志文件将会消失。并创建一个新的日志文件(一开始为空)。
所以如果你从不做备份,你可能不需要打开日志。
可以在全量备份的同时调用flush log,在增量备份之前调用flush log来备份最新的数据。
全量备份脚本
如果数据库中有大量数据,我们通常每隔几天或几周备份一次数据,以避免影响应用程序的运行。如果数据量比较小,每天备份一次也没关系。
#!/bin/sh
# mysql数据备份脚本
# by scud
# 10/30/2005
#
BakDir=/backup/mysql
LogFile= /backup/mysql/mysqlbak.log
DATE=`日期 +%Y%m%d` " echo " " $LogFile
echo "------------ - ----------------------- --- -----" $LogFile
echo $(日期 +"%y-% m -%d %H:%M:%S") $LogFile
echo "----- --- ------------------" $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump --quick --all-databases --flush-logs
--刷新主日志 --lock-all-tables
$DumpFile
echo "转储完成" $LogFile czvf $GZDumpFile $DumpFile $LogFile 21
echo "[$GZDumpFile]备份成功!" $LogFile
rm -f $DumpFile
#删除之前的每日备份文件:完成后的增量备份文件 备份后删除增量备份文件。
cd $BakDir/daily
rm -f *
cd $BakDir
echo "备份完成!"
echo“请检查目录$BakDir!”
echo“复制到本地磁盘或 ftp 某处!!!”
ls -al $BakDir
上面的脚本将mysql增量备份到本地/backup/mysql目录。备份文件放置在/backup/mysql/daily目录下。
注意:以上脚本不会将备份文件传输到其他远程计算机,也不会删除几天前的备份文件:用户需要添加相应的脚本或进行手动操作。
增量备份
增量备份数据量比较小,但必须在全量备份的基础上进行操作。用户可以权衡时间和成本,选择最适合自己的方法。
增量备份使用bin log,脚本为:
#!/bin/sh
#
# mysql binlog 备份脚本
# ladbin/my/qr - messages
DATADIR= /var/lib/mysql
BAKDIR=/backup/mysql/daily
###如果您有特殊设置,请在此处更改或更改应用变量的行:默认为机器名称,默认情况下mysql 还采用机器的名称
HOSTNAME=`uname -n`
cd $DATADIR
FILELIST=`cat $HOSTNAME-bin.index`
##统计行数,即文件数
COUNTER=0
for file $FILELIST
do
COUNTER=`表达式 $COUNTER + 1 `
done
NextNum=0
对于 $FILELIST NextNum=`表达式 $NextNum + 1`
if [ $NextNum -eq $ COUNTER ]
then
echo “最后跳过”
else
else
if(test -e $dest)
then
echo “跳过现有的 $base”
else
echo "copying $base"
cp $base $BAKDIR ♝ fi fi
done
echo "backup mysql binlog ok"
增量备份脚本将日志刷新到备份之前。 MySQL自动将内存中的日志放入文件中,然后生成新的日志文件,所以只需要前几个就够了,即不创建最后一个。
由于上次备份可能创建了多个日志文件,因此您应该检查这些文件。如果已备份,则无需备份。 。
注:同样,用户需要自行远程转发,但不能删除。完整备份后程序自动生成。
访问设置
脚本已准备就绪。必须进行设置才能运行脚本。正确的用户名和密码,mysqladmin和mysqldump都需要用户名和密码。当然,可以将它们输入到脚本中,但更改它们并不方便。假设我们使用系统的root用户来运行脚本,那么我们必须在/root(即root用户的主目录)下运行一个.my.cnf文件,文件内容如下:
[mysqladmin ]
密码=密码
用户=根
[mysqldump]
用户=根
密码=密码注意:使该文件只能由 root 读取。 (chmod 600 .my.cnf)
该文件表明程序使用mysql root用户备份数据,密码设置正确。这样您就不必在脚本中输入用户名和密码。
自动运行
要自动运行备份程序,我们需要将其添加到crontab中。
有两种方法,一种是根据我们自己的选择将脚本放在/etc/cron.daly目录下,像/etc/cron.weekly这样的目录。
一种是使用 crontab -e 将其包含在 root 用户的计划任务中。例如,每周日凌晨 3 点进行完整备份,每周一到周六早上进行每日备份。 3点运行。
Linux上MySQL数据库备份方法和脚本?
方法1。适用于所有格式的mysql数据库,编写脚本导出导入数据库即可正常执行:
1。导出整个数据库 mysqldump -u 用户名 -p 数据库名 导出文件名 mysqldump -u wcnc -p smgp_apps_wcnc /存储路径/wcnc.sql
2.导出表 mysqldump -u 用户名 -p 数据库名 表名 导出文件名 mysqldump -u wcnc -p smgp_apps_wcnc users /存储路径/wcnc_users.sql
3、导出数据库结构 mysqldump -u - wcnc -p -d -add-drop -table smgp_apps_wcnc /存储路径/wcnc_db.sql
定义:
-d 无数据
--add-drop-table 在每个 create 语句前添加一个删除表 4。将常用源码命令导入数据库,进入mysql数据库控制台:
例如mysql -u root -p mysqluse数据库
2。 MyISAM的mysql数据表格式的方法
如果数据文件在/var/lib/mysql
文件夹下,则直接写脚本
cp -r /var/lib/mysql/Backup文件夹路径
使用 rsync 增量备份进行离线或计划的完整备份。
Linux下mysql数据库备份工具有哪些
1。 mysqldump:最早、最先进的逻辑备份工具。这是MySQL原生的逻辑备份工具,用于备份整个数据库实例、单个数据库和单个表。上手简单,学习成本几乎为0。备份简单,恢复也简单。
导出单个数据库ytt示例:mysqldump ytt /tmp/ytt.sql;
恢复也很简单:mysql /tmp/ytt.sql
缺点是保存速度慢。单个线程贯穿整个备份过程;如果需要恢复保存的数据集,也是运行在一个线程上,恢复速度也很慢。除非同时单独备份所有表,否则您将需要编写额外的脚本来进行多线程恢复。
2。 mysqlpump:mysqldump工具的改进版本,在MySQL 5.7 GA之后推出。多个线程可以同时备份同一个数据集,备份速度非常快。
其他缺点与mysqldump相同。
3。 MySQL Shell UTIL对象备份工具:最新版本MySQL 8.0.21,包含多线程备份和多线程恢复功能,可直接替代mysqldump/mysqlpump。
dump_instance/dumpInstance用于多线程备份整个MySQL单机实例。
dump_schemas/dumpSchemas用于多线程备份单个MySQL数据库。使用前两个工具导出的数据集文件MySQL Shell UTIL 备份和恢复工具具有以下功能:
1。压缩导出(默认压缩算法 zstd)
2。以块为单位导出数据集,每个块为32M
3。默认导出存储过程、容器函数、触发器、事件、用户、视图
4。导出默认 4 个线程
5。默认进度指示器
6。默认字符集是 utf8mb4
7。默认启用一致导出
8.默认的表、视图等。定义导出为 SQL 语句
9。默认数据导出为 TSV 格式数据
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
