<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body smarttemplateinserted="true">
    <div id="smartTemplate4-quoteHeader">
      <div style="font-size:10.0pt;font-family:Verdana,Arial">Actually,
        mysqldump performs a lock on the records it's dumping. If its
        for a MyISAM db, the entire table is locked. If it's for InnoDB
        and similar, an internal snapshot is created and only the
        records the dump is reading are unavailable for writing.<br>
        <br>
        Cyrus could also implement a per-user lock, but in reality it
        doesn't need that complex syncro mechanisms, a simple global
        write lock would be enough (reading would not be affected, son
        only I, not I/O, and not to stop it but just to suspend). After
        all, the *write* lock would last only a second or so, the fs
        snapshots are almost instantaneous. If you can't tolerate a 1
        second delay for writing in Cyrus, you are probably not a SME.<br>
        <br>
        And you don't need to hold the data to transfer it. You can dump
        it directly to a nfs share or pass it as stdout to ssh: <font
          face="Courier New">mysqldump | xz -9 | ssh remote_server "cat
          > /bkp/</font><font face="Courier New"><font face="Courier
            New">`date +%y%m%d_%H%M`.sql.xz</font>"</font>. With a
        couple of pipes more you can encrypt the data on the fly so it's
        secure to store it in a cheap VPS overseas... or you could
        upload it to dropbox.<br>
        <br>
      </div>
      <div style="border:none;border-top:solid #B5C4DF
        1.0pt;padding:3.0pt 0cm 0cm
0cm;font-size:10.0pt;font-family:"Tahoma","sans-serif""><b>From:</b>
        Jason L Tibbitts Iii<br>
        <b>Sent:</b> Thursday, May 10, 2018 18:41<br>
        <b>To:</b> Anatoli<br>
        <b>Cc:</b> Info-cyrus<br>
        <b>Subject:</b> Re: Backup methods<br>
      </div>
      <br>
    </div>
    <span type="cite" cite="mid:ufash6zjihu.fsf@epithumnia.math.uh.edu"
      style="display: block; word-break: break-all; margin: 7px 0 0 0;
      padding: 0; line-height:0"></span>
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">"A" == Anatoli  <a class="moz-txt-link-rfc2396E" href="mailto:me@anatoli.ws"><me@anatoli.ws></a> writes:
</pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
    <pre wrap="">
A> What about mysqldump > dump.sql, then mysql < dump.sql? Also a wrong
A> way and didn't have to be implemented?

No, that's exactly my point.  Thanks for making it for me!  The analog
to the way you indicated that you would like it to work would be having
the mysql server stop IO so that you can take a filesystem snapshot
while the database is in a consistent state.  But instead, the database
(like cyrus) implements a backup method which you can use to extract the
data.  And it also requires disk space to hold the backup until you can
transfer it to your backup medium.

 - J<


</pre>
    <br>
  </body>
</html>