mysqldump怎么读(mysqldump不锁表备份,怎么设置为好)

2025-02-14 10:10:02 0

mysqldump怎么读(mysqldump不锁表备份,怎么设置为好)

本文目录

mysqldump不锁表备份,怎么设置为好

mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATETABLEINSERT等。如果给mysqldump进行备份,从库上停止复制的sql线程然后mysqldump,这个是个很好的选择,因为停止复制就没有写,就不用担心锁表的问题。下面提供两只备份方法:一、MyISAM引擎备份1.由于MyISAM引擎为表级锁,因此,在备份时需要防止在备份期间数据写入而导致不一致,2.所以,在备份时使用--lock-all-tables加上读锁mysqldump-A-F-B--lock-all-tables|gzip》/data/backup/$(date+%F).tar.gz3.特别提示:有关MyISAM和InnoDB引擎的差别和在工作中如何选择,在前面已经详细讲解过了,这里就不在讲了。二、InnoDB引擎备份1.InnoDB引擎为行锁,因此,备份时可以不对数据库加锁的操作,可以加选项--single-transaction进行备份:mysqldump-A-F-B--single-transaction|gzip》/data/backup/$(date+%F).tar.gz2.特别注意:--single-transaction仅适用于InnoDB引擎。--master-data=2会将当前mysql用到的binlog文件的日志名称和位置记录下来然后搜索changemaster就行了mysqldump-uroot-p’passwd’-Bctp1--lock-all-tables|gzip》/home/mysql/ctp1.$(date+%F).tar.gz--no--data仅仅dump数据库结构创建脚本通过--no-create-info去掉dump文件中创建表结构的命令。

关于mysqldump的一个疑问

1 mysqldump导出数据主要有两种控制:一种是导出的全过程都加锁 lock-all-tables, 另一种则是不加。前者会在导出开始时执行 FLUSH TABLES WITH READ LOCK; 也就是加全局读锁,会阻塞其它写操作,以保证导出是一致性的;因此只有在导出测试数据时或导出时没有业务连接操作时可不加 lock-all-tables .至于说一致性导出的另一种方式 single-transaction, 则是有适用范围的,见下边。2 single-transaction 选项和 lock-all-tables 选项是二选一的,前者是在导出开始时设置事务隔离状态并使用一致性快照开始事务,而后马上unlock tables,然后执行导出,导出过程不影响其它事务或业务连接,但只支持类似innodb多版本特性的引擎,因为必须保证即使导出期间其它操作(事务点t2)改变了数据,而导出时仍能取出导出开始的事务点t1时的数据。而lock-all-tables则一开始就 FLUSH TABLES WITH READ LOCK; 加全局读锁,直到dump完毕。-- 关于一致性快照,简单地说,就是通过回滚段能记录不同的事务点的各版本数据-- single-transaction 的流程如下:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READSTART TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */SHOW MASTER STATUS -- 这一步就是取出 binlog index and positionUNLOCK TABLES...dump...3 master_data 选项开启时默认会打开lock-all-tables,因此同时实现了两个功能,一个是加锁,一个是取得log信息。 master_data取1和取2的区别,只是后者把 change master ... 命令注释起来了,没多大实际区别;4 当master_data和 single_transaction 同时使用时,先加全局读锁,然后设置事务一致性和使用一致性快照开始事务,然后马上就取消锁,然后执行导出。过程如下FLUSH TABLES WITH READ LOCKSET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READSTART TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */SHOW MASTER STATUS -- 这一步就是取出 binlog index and positionUNLOCK TABLES...dump...5 总结,了解了这些选项作用后,使用起来就明确了.如果需要binlog信息则使用 master_data; 如果不想阻塞同时表是innodb引擎可使用 single_transaction 取得一致性快照(取出的数据是导出开始时刻事务点的状态)如果表不支持多版本特性,则只能使用 lock-all-tables 阻塞方式来保证一致性的导出数据。当然,如果能保证导出期间没有任何写操作,可不加或关闭 lock-all-tables

mysqldump到底怎么用

备份:导出要用到MySQL的mysqldump工具,基本用法是: mysqldump 与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。 -P port_num, --port=port_num 与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。) -q, --quick 不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。 -S /path/to/socket, --socket=/path/to/socket 与localhost连接时(它是缺省主机)使用的套接字文件。 -T, --tab=path-to-some-directory 对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和--lines--xxx选项来定。 -u user_name, --user=user_name 与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。 -O var=option, --set-variable var=option 设置一个变量的值。可能的变量被列在下面。 -v, --verbose 冗长模式。打印出程序所做的更多的信息。 -V, --version 打印版本信息并且退出。 -w, --where=’where-condition’ 只导出被选择了的记录;注意引号是强制的! “--where=user=’jimf’“ “-wuserid》1“ “-wuserid《1“ 最常见的mysqldump使用可能制作整个数据库的一个备份: mysqldump --opt database 》 backup-file.sql 但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的: mysqldump --opt database | mysql --host=remote-host -C database 由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了: mysqladmin create target_db_name mysql target_db_name 《 backup-file.sql

怎么用mysqldump工具备份数据库

  一、数据备份的重要性   工作中,如果意外删除了重要的文件或者目录的话,那结果可就惨了。尤其是当误删除的数据涉及重要的客户或者关键项目,并且这些数据无法轻易重新创建的时候,那滋味,不用我说你也能想象得到。不巧的是,像这样的数据在公司环境中随处可见,例如销售记录、客户联系方式,等等。   二、关于mysqldump   MySQL自身提供了许多命令行工具,例如mysql工具可以用来与MySQL的数据库模式、数据、用户和配置变量进行交互,而mysqladmin工具则可以进行各种管理任务,还有就是下面将要介绍的mysqldump。此外还有很多,不过那超出了本文的讨论范围。工具mysqldump既可以用来备份数据库模式,还可以用来备份数据;利用它,我们不仅可以对一个服务器上的所有数据库进行地毯式的备份,同时我们还可以选择性地备份某个数据库,甚至数据库中指定的某些表。   当在服务器上安装MySQL的时候,应修改系统路径以便使全局命令行可以访问各个客户程序。打开终端窗口,并执行下列命令:%mysqldump Usage: mysqldumpFormore options, usemysqldump--help  这里给出了使用mysqldump程序的方法。举例来说,若要备份所有数据库模式和数据至文件backup092210.sql的话,可以执行如下所示的命令:%mysqldump-u root-p--all-databases backup092210.sql Enter password:   这里,为了能够访问所有数据库,我们需要一个root权限,所以这里需要在提示符后面输入相应口令。此外,如果你是在开发用的服务器上练习这些命令的话,不妨花一些时间看看备份文件的内容。这时您会看到一系列的SQL语句,先是删除各个表后重新创建的语句,然后是重新创建相关数据的语句。另外,由于上面的例子中我们对所有数据库进行备份,所以您还会发现,备份文件将创建每个数据库(如果它还没有存在的话),然后通过USE命令切换到该数据库,进而创建与该数据库相关的表跟数据。   若要备份单个数据库,例如要备份名为wiki的数据库到一个名为wiki-backup092210.sql的文件中,我们可以使用如下所示的命令:%mysqldump-u root-p wikiwiki-backup092210.sql Enter password:   最后,若要备份数据库中名为users的表的话,例如要把它备份到名为wikiusers-backup092210.sql的文件中,我们可以使用如下所示的命令:%mysqldump-u root-p wiki userswikiusers-backup092210.sql Enter password:  三、调整备份内容   有时候,我们可能只想备份数据库的模式,或者只想备份数据库的数据。为了备份数据库模式,可以向mysqldump传递参数--no-data,如下所示:%mysqldump-u root-p--no-data wiki wiki-backup092210.sql   对于前面所举的例子,仅需要少量的击键次数就能执行mysqldump命令。然而,工作中要干的活还有很多,并且如果老是执行这些命令的话,那么生活就会变得太单调了。因此,我们可以设法使这些过程自动化,这时我们可以借助cron工具来达成我们的目标,这个工具在所有类UNIX操作系统上都能找到。为了自动执行备份任务,我们需要新建一个正确命名的文件。例如nightly-backup.sh,具体命令如下所示:  #!/bin/sh mysqldump-uroot-psecret wiki/home/backup/sql/wiki-backup-`date+%m%d%Y`.sql  当我们执行这个脚本的时候,它会将wiki数据库备份到一个按照备份时间命名的文件中,如wiki-backup-092210.sql。您需要注意一下这里的用户名root和口令secret是如何传递给mysqldump的,即将它们分别放到选项- u和- p后面。从安全的角度讲,我们必须进行正确的权限设置。   接下来,我们将这个脚本提供交给cron,方法是使用crontab。为此,我们可以执行如下所示的命令:  %crontab-e  这将打开当前登录用户的crontab文件,如果该文件不存在的话就会自动新建一个。在这个文件中,我们可以添加如下内容,来确保每天上午3时运行该备份脚本:  03***/home/backup/scripts/nightly-backup .sh  如果您对crontab的语法很陌生的话,这里的参数可能让您摸不着头脑。这里前五个参数分别对应于执行脚本的时间,依次为分、时、日、月和星期几。因此,要想在每星期二的4:45am执行脚本的话,可以使用参数45 4 * * 3。   插入上面所示的一行内容后,保存文件,那么我们的任务就会开始按照给定时间调度执行。 需要注意的是,第二天早上一定要查看相应的目录,看看事情是否一切正常。   五、其它备份方案   就像本文前面所说的那样,mysqldump只是MySQL众多备份方案中的一个。此外,您还可以使用MySQL的二进制日志文件进行增量备份,或者使用从MySQL主服务器中将数据复制到从服务器中。   六、小结  本文中,我们与读者一道建立了一个简单的MySQL备份解决方案。如果您之前还未实施任何解决方案的话,不妨立即动手试一下。重要的是,这只需要花费您几分钟的时间,我想这是很划得来的。

mysqldump初始化读哪些参数

  mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。  如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。  有3种方式来调用mysqldump:  shell》 mysqldump 》 my_databases.sql 如果你想要转储所有数据库,使用--all--database选项:  shell》 mysqldump --all-databases 》 all_databases.sql 如果表保存在InnoDB存储引擎中,mysqldump提供了一种联机备份的途径(参见下面的命令)。该备份只需要在开始转储时对所有表进行全局读锁定(使用FLUSH TABLES WITH READ LOCK)。获得锁定后,读取二进制日志的相应内容并将锁释放。因此如果并且只有当发出FLUSH...时正执行一个长的更新语句,MySQL服务器才停止直到长语句结束,然后转储则释放锁。因此如果MySQL服务器只接收到短(“短执行时间“)的更新语句,即使有大量的语句,也不会注意到锁期间。  shell》 mysqldump --all-databases --single-transaction 》 all_databases.sql 对于点对点恢复(也称为“前滚”,当你需要恢复旧的备份并重放该备份以后的更改时),循环二进制日志或至少知道转储对应的二进制日志内容很有用:  shell》 mysqldump --all-databases --master-data=2 》 all_databases.sql 或 shell》 mysqldump --all-databases --flush-logs --master-data=2 》 all_databases.sql 如果表保存在InnoDB存储引擎中,同时使用--master-data和--single-transaction提供了一个很方便的方式来进行适合点对点恢复的联机备份。

如何用MATLAB读取数据库Mysql文件

如何往里面添加一个 字符型,长度为36 的字段?A:你需要把那个shows.MYD 所在的那个文件夹拷贝到mysql安装目录的data目录下。如果你是默认安装,应该在c:\Program Files\MySQL\MySQL Server 5.0\data\注意是整个shows那些文件所在的目录。连目录一起拷贝哈。按你的描述,就应该是data目录了。 将d:\data1\下的data目录拷贝到c:\Program Files\MySQL\MySQL Server 5.0\data\下面。完成之后,重启mysql看看,可以运行services.msc 在里面找到mysql 重新启动mysql。(前提是你安装的时候配置了mysql服务,我想你应该配置了吧)重启之后 进入命令行,然后mysql -uroot -p 进入mysqlshow databases;看看能不能看到一个叫data数据库。如果能看到,恭喜你, 继续下面的命令。 如果不行,看后面的方法B。use dataalter table shows add 列名 类型 长度 等等举例:增加一个int型名为id的列alter table shows add id int(11) not null default ’0’;alter table shows add name varchar(32) not null default ’’;如果需要指定列的位置,假如加入的列在number列后面。那么alter table shows add id int(11) not null default ’0’ after number;方法B。如果按之前说的文件拷贝方式,重启进入mysql后看不到data 这个数据库,那么可能是你们的mysql版本不一致造成的,应该说这个可能性很大。那么,你让你朋友给你导出数据库内容。 用mysqldump命令。mysqldump -uroot -p -D 数据库名.表名 》 sss.sql你拿到这个sss.sql后 再把它导入到你的mysql数据库。在cmd下运行mysql -uroot -p test《sss.sql或者在mysql命令行下运行use testsource sss.sql这样shows表就导入到你的test数据库了。剩下的就简单了哈。和前面没啥差别。

mysqldump怎么读(mysqldump不锁表备份,怎么设置为好)

本文编辑:admin

更多文章:


php基础知识(如何轻松面对php面试面试前最好都掌握哪些知识)

php基础知识(如何轻松面对php面试面试前最好都掌握哪些知识)

本文目录如何轻松面对php面试面试前最好都掌握哪些知识学php要注意哪些事项如何轻松面对php面试面试前最好都掌握哪些知识PHP基础知识MySQL数据库Linuxnosql架构算法都了解一下 轻松面对中级工程师学php要注意哪些事项学习PH

2025年2月16日 11:40

reference by pointer(WIN10玩英雄联盟玩着玩着出现 REFERENCE_BY_POINTER 蓝屏 说是手机错误信息上传)

reference by pointer(WIN10玩英雄联盟玩着玩着出现 REFERENCE_BY_POINTER 蓝屏 说是手机错误信息上传)

本文目录WIN10玩英雄联盟玩着玩着出现 REFERENCE_BY_POINTER 蓝屏 说是手机错误信息上传经常reference by pointer 蓝屏WIN10玩英雄联盟玩着玩着出现 REFERENCE_BY_POINTER 蓝屏

2025年2月28日 18:00

comicup(漫展cpsp和cp有什么区别)

comicup(漫展cpsp和cp有什么区别)

本文目录漫展cpsp和cp有什么区别comicup和comicon 区别漫展cp(comicup)是什么是一个展还是上海全部的漫展还是全国全部的漫展什么意思啊漫展cpsp和cp有什么区别ComiCup中文名现在一般称作“上海同人展”,又被称

2025年3月26日 08:20

边框图片可爱(谁有漂亮的大头贴图框与动态边框或可爱边框)

边框图片可爱(谁有漂亮的大头贴图框与动态边框或可爱边框)

本文目录谁有漂亮的大头贴图框与动态边框或可爱边框如何画出可爱边框电子手抄报的花纹以及边框 图片128X128的可爱图片如何将可爱的卡通图案做成边框谁有漂亮的大头贴图框与动态边框或可爱边框你去天空软件站搜索“大头贴”看看,多下几款软件,看看有

2025年3月22日 03:20

push out(push一般与什么介词连用)

push out(push一般与什么介词连用)

本文目录push一般与什么介词连用公司中一般说的pull in、push out 是什么意思呢谢谢紧急求助 Push at sb和 Push out of中文意思push out window是什么意思pull in/push out什么意

2025年3月7日 05:50

salmon鲑鱼气垫(trout 鲑鱼 和 salmon 三文鱼 他们一样吗有什么区别呢)

salmon鲑鱼气垫(trout 鲑鱼 和 salmon 三文鱼 他们一样吗有什么区别呢)

本文目录trout 鲑鱼 和 salmon 三文鱼 他们一样吗有什么区别呢鲑鱼气垫CC中正品带膜吗最近突然火爆的鲑鱼气垫怎么样鲑鱼粉适合黄皮吗trout 鲑鱼 和 salmon 三文鱼 他们一样吗有什么区别呢鲑鱼就是三文鱼,只是鲑鱼是三文鱼

2025年3月23日 07:10

string的indexof方法(怎么判断string字符串中包含某个字符)

string的indexof方法(怎么判断string字符串中包含某个字符)

本文目录怎么判断string字符串中包含某个字符String的方法 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引string.indexof(’_’)返回-1表示什么indexOf方法的说明怎么判断

2025年4月5日 03:20

postgresql9 0(postgresql9怎么启动数据库系统)

postgresql9 0(postgresql9怎么启动数据库系统)

本文目录postgresql9怎么启动数据库系统如何安装PostgreSQLpostgresql9怎么启动数据库系统设置PostgreSQL 开机自动启动# chkconfig --list|grep post停止PostgreSQL数据库

2025年3月7日 20:30

系统重装之后加密文件夹如何解密?什么是文件的加密与解密

系统重装之后加密文件夹如何解密?什么是文件的加密与解密

本文目录系统重装之后加密文件夹如何解密什么是文件的加密与解密为什么要研究加密技术与解密技术1.什么是数据加密简述加密和解密的过程excel加密如何解密什么是加密和解密常用的加密解密方式有哪些加密文件怎么解密系统重装之后加密文件夹如何解密使用

2025年4月2日 20:00

jobless(jobless什么词性)

jobless(jobless什么词性)

本文目录jobless什么词性以less结尾的形容词jobless什么词性joblessOne in four people are now jobless in inner areas like Tottenham and Peckham

2025年2月27日 15:20

behavior什么意思(behavious与manners的区别)

behavior什么意思(behavious与manners的区别)

本文目录behavious与manners的区别behavior中文意思behave和behavior的区别和用法 都是行为,举止的意思,但有什么区别了behavious与manners的区别behaviors意指平常的行为方式,manne

2025年2月11日 09:00

revealed怎么读(直行英文怎么读)

revealed怎么读(直行英文怎么读)

本文目录直行英文怎么读reveal是什么意思直行英文怎么读直行英文:direct movement   英     直行相关例句:1、Will turn into direct movement or retrograde movement

2025年3月31日 14:30

swift英文怎么读(Swift是什么意思)

swift英文怎么读(Swift是什么意思)

本文目录Swift是什么意思taylor swift怎么念swift结算系统怎么读taylor swift的英文名怎么读swift信用证 的 swift是什么缩写 怎么读呢快速的英文是什么taylor swift怎么读请教大家一下,SWIF

2025年3月20日 04:00

glimpse什么意思(glance与glimpse的区别)

glimpse什么意思(glance与glimpse的区别)

本文目录glance与glimpse的区别glimpse是什么意思 《欧路词典》英汉glance glimpse glare gleam的区别stare, gaze, peer, glance& glimpse区别什么什么啊glimpse和

2025年2月18日 20:20

points什么意思中文(points什么意思)

points什么意思中文(points什么意思)

本文目录points什么意思points什么意思中文points是什么意思points什么意思用汉语points什么意思1.分数,得分,如get points 得分 积分2.论点3.〈英〉(铁道的)道岔,转辙器4.点坐标数组5.【数】点;小

2025年4月3日 23:20

请问tow与tug意义上有什么区别?tow什么意思

请问tow与tug意义上有什么区别?tow什么意思

本文目录请问tow与tug意义上有什么区别tow什么意思请问tow与tug意义上有什么区别tow n. 拖,拖曳所用之绳,麻的粗纤维 vt. 拖,曳,牵引 vi. 拖行,被拖带 tug v. 用力拖,吃力地搬运,苦干,用拖

2025年3月16日 10:50

udp协议属于哪一层(ISO 的七层模型是什么tcp/udp是属于哪一层tcp/udp有何优缺点)

udp协议属于哪一层(ISO 的七层模型是什么tcp/udp是属于哪一层tcp/udp有何优缺点)

本文目录ISO 的七层模型是什么tcp/udp是属于哪一层tcp/udp有何优缺点udp协议在tcpip体系结构中位于哪个层次tcp和udp分别在osi七层模型的哪一层还有七层模型里哪些层主要是做什么工作,请自己回答谢谢IP,TCP,UDP

2025年2月17日 00:50

mysql replace(mysql之replace和ON DUPLICATE KEY UPDATE的区别)

mysql replace(mysql之replace和ON DUPLICATE KEY UPDATE的区别)

本文目录mysql之replace和ON DUPLICATE KEY UPDATE的区别mySQL 里面 replace怎么用MYSQL 批量替换之replace语法的使用详解Mysql replace()函数的使用mysql replac

2025年3月3日 23:40

制作一个app软件需要多少钱(做一个商城app需要多少钱)

制作一个app软件需要多少钱(做一个商城app需要多少钱)

本文目录做一个商城app需要多少钱做一个APP需要多少钱做一个商城app需要多少钱做一个商城app需要多少钱?来说一下这个问题。  一、不同app开发公司价格也存在差异互联网是个神奇的大网,大数据开发和软件定制也是一种模式,这里提供最详细的

2025年2月11日 13:10

plc接线图实物图(plc接线图怎么看)

plc接线图实物图(plc接线图怎么看)

本文目录plc接线图怎么看plc输出端怎么接线plc台达外部接线图plc接线图,请问有接线的实物图吗什么是PLC硬件接线图,可以举个例子三菱plc正反转接线图实物图三菱plc怎么接线plc接线图怎么看这个是PLC的开关量输入(DI)模块的接

2025年4月6日 00:10

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索