您的当前位置:首页正文

windows/linux服务器下mysql备份恢复命令介绍_MySQL

2023-11-20

bitsCN.comwindows/linux服务器下mysql备份恢复命令介绍 在windows服务器下mysql备份恢复我们经常会使用mysqldump命令来完成这些操作,下面我来详细的总结一下mysqldump备份恢复命令的用法介绍。 设mysql安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期)备份数据库:mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。 代码如下 mysqldump -uroot -p123456 database_name>d:/backup20070713.sql上面windows/下面为linux我通常使用以下 SQL 来备份 MyISAM 表: 代码如下 /usr/local/mysql/bin/mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x db_name > db_name.sql 使用以下 SQL 来备份 Innodb 表: 代码如下 /usr/local/mysql/bin/mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction db_name > db_name.sql另外,如果想要实现在线备份,还可以使用 --master-data 参数来实现,如下: 代码如下 /usr/local/mysql/bin/mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --master-data=1 --single-transaction --flush-logs db_name > db_name.sql 恢复数据库:删除原有数据库,建立数据库,把备份数据库导入。 代码如下 mysqladmin -uroot -p123456 drop database_namemysqladmin -uroot -p123456 create database_namemysql -uroot -p123456 database_name 用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。直接用 mysql 客户端 例如: 代码如下 /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql 用 SOURCE 语法 其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如: 代码如下 SOURCE /tmp/db_name.sql; 这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件。注:在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20070713.sql中数据库名是一样的才能导入。mysqldump(数据导出工具) mysqldump options db_name[table_name]//备份单个数据库 mysqldump 选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个 mysqldump 选项 --all-database //备份所有的数据库 链接选项: -u :指定用户名 -p:指定密码 -h:指定服务器ip或者域名 -P(大写):指定端口eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt输出内容选项:--add-drop-database:每个数据库创建语句之前加上drop database语句--add-drop-table:每个表创建语句之前加上drop table语句-n:不包含数据库的创建语句-t:不包含数据表的创建语句-d:不包含数据输出格式选项: --compact:使输出结果简洁 -c --compact-insert:使输出文件中的insert语句包含字段名 -T:将数据库表中的数据备份为单纯的数据文本和建表sql俩个文件 --fields-terminated-by=name(域分割符) --fields-enclosed-by=name(域引用符) --fields-optionally-enclosed-by=name(域可选引用符) --fields-escaped-by=name(转移字符)eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak字符集选项:--default-character-set=name:设置导出的客户端字符集eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt 来自壹聚教程网bitsCN.com

小编还为您整理了以下内容,可能对您也有帮助:

MySQL如何备份与还原

使用MYSQL数据库的朋友,对MySQL进行备份和还原是比较重要的。重要的事简单做,今天介绍我们使用mysqlmp和source命令来备份还原,分为Windows下和Linux下的MYSQL备份与还原操作。 一、Win32系统下MySQL的备份还原方法 备份:在运行中输入cmd ,利用cd /Pro

使用MYSQL数据库的朋友,对MySQL进行备份和还原是比较重要的。重要的事简单做,,今天介绍我们使用mysqlmp和source命令来备份还原,分为Windows下和Linux下的MYSQL备份与还原操作。

一、Win32系统下MySQL的备份还原方法

备份:在“运行”中输入“cmd ”,利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”进入bin文件夹,输入“mysqlmp -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqlmp -u root -p voice>voice.sql,然后输入密码即可开始导出MYSQL数据,实现备份操作。

还原:进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

二、Linux下MySQL的备份与还原方法:

备份:[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysqlmp -u root -p voice>voice.sql,输入密码即可。

还原:有两种方法可选:

第一种方法:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。

第二种方法:

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysql -u root -p voice

MySQL数据库备份和还原的常用命令?

1.备份MySQL数据库的命令

mysqlmp-hhostname-uusername-ppassworddatabasename>backupfile.sql

2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqlmp-_add-drop-table-uusername-ppassworddatabasename>backupfile.sql

3.直接将MySQL数据库压缩备份

mysqlmp-hhostname-uusername-ppassworddatabasename|gzip>backupfile.sql.gz

4.备份MySQL数据库某个(些)表

mysqlmp-hhostname-uusername-ppassworddatabasenamespecific_table1specific_table2>backupfile.sql

5.同时备份多个MySQL数据库

mysqlmp-hhostname-uusername-ppassword_databasesdatabasename1databasename2databasename3>multibackupfile.sql

6.仅仅备份数据库结构

mysqlmp_no-data_databasesdatabasename1databasename2databasename3>structurebackupfile.sql

7.备份服务器上所有数据库

mysqlmp_all-databases>allbackupfile.sql

8.还原MySQL数据库的命令

mysql-hhostname-uusername-ppassworddatabasename<backupfile.sql

9.还原压缩的MySQL数据库

gunzip<backupfile.sql.gz|mysql-uusername-ppassworddatabasename

10.将数据库转移到新服务器

mysqlmp-uusername-ppassworddatabasename|mysql_host=*.*.*.*-Cdatabasename

MySQL数据库备份和还原的常用命令

数据库备份是网站管理员必须的一项工作任务,定期备份数据库必不可少,以便不时之需,下面列出几个备份数据库的常见命令操作:

备份MySQL数据库的命令mysqlmp -hhostname -uusername -ppassword databasename backupfile.sql

备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库.mysqlmp -–add-drop-table -uusername -ppassword databasename backupfile.sql

直接将MySQL数据库压缩备份mysqlmp -hhostname -uusername -ppassword databasename | gzip backupfile.sql.gz

备份MySQL数据库某个(些)表mysqlmp -hhostname -uusername -ppassword databasename specific_table1 specific_table2 backupfile.sql

同时备份多个MySQL数据库mysqlmp -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3 multibackupfile.sql

仅仅备份数据库结构mysqlmp –no-data –databases dbname1 dbname2 dbname3 structurebackupfile.sql

备份服务器上所有数据库mysqlmp –all-databases allbackupfile.sql

还原MySQL数据库的命令mysql -hhostname -uusername -ppassword databasename backupfile.sql

还原压缩的MySQL数据库gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器mysqlmp -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

linux备份mysql

mysql如何备份和还原数据库?

备份数据库使用mysqlmp命令备份数据库复制代码代码如下:#如果要将game数据库进行备份:mysqlmp-uroot-pgame>game_backup.sql#如果希望备份所有的数据库:mysqlmp-uroot-p--all-databases>all_backup.sql还原数据库

1、使用mysql命令还原数据库将game_backup.sql还原至game数据库:复制代码代码如下:mysql-uroot-pgamegame_backup.sql

2、使用source命令还原数据库如果数据库过大,建议可以使用source命令复制代码代码如下:mysql>sourcegame_backup.sql

mysql备份问题,mysql版本5.7.2?

1、你用mysqlpump压缩备份lz4的后缀名不应该是sql,你要.lz4才行。

mysqlpump--compress-output=LZ4>mp.lz4

lz4_decompressmp.lz4mp.txt

2、mysqlpump和mysqlmp一样,属于逻辑备份,备份以SQL形式的文本保存。

3、这个没啥好建议,你数据库太大了,本来还想说用XtraBackup工具,但是这个只支持linux系统。

MySQL中,备份数据库的命令是?

使用mysqlmp工具进行备份:

1)备份所有数据库:$mysqlmp-uroot-p--all-database>all.sql(2)备份数据库test$mysqlmp-uroot-ptest>test.sql(3)备份数据库test下的表emp$mysqlmp-uroot-ptestemp>emp.sql(4)备份数据库test下的表emp和dept$mysqlmp-uroot-ptestempdept>emp_dept.sql

Mysql实时备份实现方法?

数据备份是数据容灾的最后一道防线,即便有着两地三中心的架构,备份也依然重要。如果备份出问题,备份时影响了交易业务,备份数据无法恢复,这些也是企业难以承受的。所以选择合适的备份工具尤为重要。

每个企业级数据库都会有配套的备份工具,MEB(MySQLEnterpriseBackup)就是MySQL企业版中非常重要的工具之一,是为企业级客户提供的数据备份方案。

Xtrabackup一直作为MEB开源版备胎而存在,从MySQL8.0开始情况可能会变得有所不同。

在MySQL8.0的BackupLock、RedoLogArchiving、PageTracking等新特性的加持下,MEB备份/恢复体验会更好,目前xtrabackup还不支持这些特性。

MySQL企业版还有哪些功能?

特性1:BackupLock

8.0之前使用xtrabackup或MEB做物理备份,为了保证备份时InnoDB引擎表与其他引擎数据文件、及binlog日志的一致性会上全局读锁,再拷贝非InnoDB文件,这期间MySQL会变成只读,数据无法写入。表数量越多,可能加上时间越长,如果使用的xtrabackup不小心没加rsync参数,逐个拷贝frm文件,锁定时间会更长,对业务影响较大。

我曾遇到过部署在虚拟机的实例有12000多张表,当时使用的xtrabackup,备份脚本中没加rsync参数,结果锁了十几分钟,而MEB就没有这样的问题。

MySQL8.0支持轻量级备份锁LOCKINSTANCEFORBACKUP,数据字典也重构了由InnoDB存储。若不创建非InnoDB表,MEB默认使用备份锁获取binlog日志一致性位置,并阻止DDL操作,但不影响DML操作。

只有InnoDB表,仅上备份锁

若有非InnoDB表,上全局锁

特性2:RedoLogArchiving

MEB能做到在线热备,备份时不影响数据库读写,这是利用了InnoDB事务日志,在备份期间持续监视redolog的变化,读取增量变化,写入到ibbackup_logfile,也就不需要上锁来保障备份一致性。(对非InnoDB的文件需要上读锁拷贝)

如果备份期间数据库写入负载特别大,而写入ibbackup_logfile速度较慢,redologsize也不大,很可能会出现ibbackup_logfile的写入速度跟不上redolog记录生成速度,redolog空间不够时需要覆写日志文件,那么来不及写入ibbackup_logfile的记录会丢失,导致备份失败。

MEB4.1对此做了优化,将redolog处理线程拆分成多线程分工合作,提高处理redolog的效率,降低了redolog覆写造成备份失败的概率,但redolog新增速度和ibbackup_logfile写入速度悬殊太大,问题依然会发生。

MySQL8.0.17支持了redologarchiving彻底解决了此问题,备份前设置innodb_redo_log_archive_dirs,指定redolog归档目录。MEB备份时自动开启日志归档,当checkpoint时会将旧记录归档到此目录,后续从归档文件中读取redo日志记录,避免了覆写可能导致的redo记录丢失。

注意:innodb_redo_log_archive_dirs不能在数据目录下,目录权限要求是700

特性3:PageTracking

PageTracking是为优化增量备份效率,减少不必要的数据页扫描。

增量备份当前有3种扫描模式:

page-track:利用LSN精确跟踪上次备份之后被修改页面,仅复制这些页面,效率最快。

optimistic:扫描上次备份之后被修改的InnoDB数据文件中,找出并拷贝修改的页面。依赖系统时间,使用存在。

full-scan:扫描所有InnoDB数据文件,找出并拷贝自上次备份之后修改的页面,效率最慢

1、利用page-track增量备份,需先安装备份组件

2、在全备前开启page-track

3、全备之后,做增量备份时指定若满足pagetracking条件,默认会使用page-track模式,否则会使用full-scan模式,也可以指定--incremental=page-track。

incremental-base有3种选择

last_backup:基于前一次备份做增备,前一次备份可能是增备,也可能是全备。这种方式全备之间可能会有多个增备,每次增量可能比较小,但恢复时需要逐个合并。

last_full_backup:基于前一次全备做增备。这种方式增备会越往后体积可能越大,但恢复时只需要合并最后一次增量备份。

dir:基于前一次的备份目录,前一次备份可能是增备,也可能是全备。

测试对比full-scan和page-track,在变更页小于总体50%的情况下,备份效率至少能有1倍的速度提升。

page-track模式磁盘读写均衡,说明读写的都是修改页面。

full-scan模式磁盘读写差别很大,说明读了很多未修改的页面。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

Top