目錄
mysql数据备份与还原
数据备份
mysqldump备份
直接复制这个数据库目录
mysqlhotcopy工具快速备份
数据还原
mysql命令还原
使用source 命令导入备份sql文件
使用直接复制到数据目录的方法
mysqlhotcopy快速恢复
首頁 資料庫 mysql教程 mysql数据备份与还原

mysql数据备份与还原

Jun 07, 2016 pm 02:51 PM
mysql 資料備份 還原

mysql数据备份与还原 mysql数据备份与还原 数据备份 mysqldump备份 直接复制这个数据库目录 mysqlhotcopy工具快速备份 数据还原 mysql命令还原 使用source 命令导入备份sql文件 使用直接复制到数据目录的方法 mysqlhotcopy快速恢复 数据备份 mysqldump备份 m

mysql数据备份与还原


      • mysql数据备份与还原
        • 数据备份
          • mysqldump备份
          • 直接复制这个数据库目录
          • mysqlhotcopy工具快速备份
        • 数据还原
          • mysql命令还原
          • 使用source 命令导入备份sql文件
          • 使用直接复制到数据目录的方法
          • mysqlhotcopy快速恢复

数据备份

mysqldump备份

mysqldump备份的基本语法格式如下:

<code class=" hljs lasso">mysqldump <span class="hljs-attribute">-u</span> user <span class="hljs-attribute">-h</span> host <span class="hljs-attribute">-p</span> password dbname<span class="hljs-preprocessor">[</span>tbname,<span class="hljs-preprocessor">[</span>tbname<span class="hljs-attribute">...</span><span class="hljs-preprocessor">]</span><span class="hljs-markup">] > filename.sql
</span></code>
登入後複製
  • 使用mysqldump备份单个数据库中的所有表
<code class=" hljs ruby"> mysqldump -u root -p booksDB > <span class="hljs-regexp">/Users/frankstar</span><span class="hljs-regexp">/Desktop/books</span>DB_2016051<span class="hljs-number">0</span>.sql</code>
登入後複製

输入密码后,桌面即可看见备份的数据库文件,文件开头是mysqldump工具的版本号,然后是备份账户的名称与主机信息,以及数据库的名称,服务器的版本号等。下面是SET语句,主要是涉及恢复时数据库的系统变量值,最后几行使用SET语句恢复服务器系统变量原来的值。

  • 使用mysqldump备份数据库中的某个表
<code class=" hljs ruby">mysqldump -u root -p booksDB books > <span class="hljs-regexp">/Users/frankstar</span><span class="hljs-regexp">/Desktop/books</span>_2016051<span class="hljs-number">0</span>.sql</code>
登入後複製
  • 使用mysqldump备份多个数据库
<code class=" hljs ruby">mysqldump -u root -p --databases booksDB <span class="hljs-constant">JavaStudy</span> > <span class="hljs-regexp">/Users/frankstar</span><span class="hljs-regexp">/Desktop/book</span>DB_JavaStudy_2016051<span class="hljs-number">0</span>.sql
</code>
登入後複製
  • 使用–all-databases备份全部数据库
<code class=" hljs lasso">mysqldump <span class="hljs-attribute">-u</span> root <span class="hljs-attribute">-p</span> <span class="hljs-subst">--</span><span class="hljs-literal">all</span><span class="hljs-attribute">-databases</span> <span class="hljs-subst">></span> /Users/frankstar/Desktop/allDatabases_20160510<span class="hljs-built_in">.</span>sql
</code>
登入後複製

提示:如果数据库中表都是MyISAM表,可考虑使用mysqlhotcopy,提高效率。

直接复制这个数据库目录

可以直接复制数据库的存储目录和文件进行备份。这个方法对Innodb存储引擎的表不适合,同时还要求数据库版本要一致,否则可能出现不兼容。首先备份前需要进行LOCK TABLES操作,然后执行FLUSH TABLES,复制数据库文件时应该允许用户查询,需要FLUSH TABLES语句来确保开始备份前将所有的激活索引页写入到硬盘。最好的办法是停止服务进行复制。

mysqlhotcopy工具快速备份

mysqlhotcopy必须要可以访问备份的数据表文件,具有表的SELECT、RELOAD、LOCK TABLES等权限,同时它只适用于MyISAM和ARCHIVE存储引擎的表。

语法格式如下:

<code class=" hljs lasso">mysqlhotcopy <span class="hljs-attribute">-u</span> root <span class="hljs-attribute">-p</span> JavaStudy /Users/frankstar/Desktop/JavaStudy</code>
登入後複製

它只是将表所在目录复制到另一个目录下,类似直接的复制cp/scp来备份数据库。

数据还原

mysql命令还原

语法格式如下:

<code class=" hljs ruby">mysql -u root -p booksDB < <span class="hljs-regexp">/Users/frankstar</span><span class="hljs-regexp">/Desktop/books</span>DB_2016051<span class="hljs-number">0</span>.sql</code>
登入後複製

提示:首先数据库中要有这个还原的数据库,即使是空的。

使用source 命令导入备份sql文件

首先登陆到服务器上,使用如下语法:

<code class=" hljs php"><span class="hljs-comment">#source filename;</span>
mysql> <span class="hljs-keyword">use</span> <span class="hljs-title">booksDB</span> ;
mysql> source /Users/frankstar/Desktop/booksDB_20160510.sql
</code>
登入後複製
使用直接复制到数据目录的方法

将之前通过复制备份数据库的数据目录与文件复制到mysql的数据目录下实现还原,这种方法要求数据库的主版本号需要相同,同时要求是MyISAM表,同时需要停止数据库服务以及更改数据文件的属主与属组为mysql

mysqlhotcopy快速恢复

与直接复制到数据目录的方法类似,也需要停止服务,更改数据文件的属主和属组,如下:

<code class=" hljs lasso">chown <span class="hljs-attribute">-R</span> mysql:mysql /<span class="hljs-built_in">var</span>/lib/mysql/db_name</code>
登入後複製

复制语法:

<code class=" hljs lasso">cp -R /Users/frankstar/Desktop/JavaStudy /usr/<span class="hljs-built_in">local</span>/<span class="hljs-built_in">var</span>/mysql/JavaStudy</code>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

Java 枚舉類型在資料庫中的應用場景有哪些? Java 枚舉類型在資料庫中的應用場景有哪些? May 05, 2024 am 09:06 AM

Java 枚舉類型在資料庫中的應用場景有哪些?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

PHP數組分頁的效能最佳化策略 PHP數組分頁的效能最佳化策略 May 02, 2024 am 09:27 AM

PHP數組分頁的效能最佳化策略

See all articles