首頁 資料庫 mysql教程 mysql 5.5 mysqldump 原文翻译_MySQL

mysql 5.5 mysqldump 原文翻译_MySQL

Jun 01, 2016 pm 01:50 PM
翻譯

mysqldump

bitsCN.com 根据mysql 5.5第6.4章节理解和自己翻译水平有限如有纰漏请指教,原文如下.http://dev.mysql.com/doc/refman/5.5/en/using-mysqldump.html 6.4 使用mysqldump备份(Using mysqldump for Backups)首先多余的不用说了备份用来干什么大家都清楚。mysqldump备份分两种输出形式:1. 无--tab选项,输出标准的SQL格式。输出包含CREATE语句(databases,tables,stored routines,and so forth),INSERT语句插入数据到表。输出可以保存成一个文件,之后可以用mysql再次创建。选项可以控制输出SQL语句格式,文件类型。2. 含--tab选项,每个表对应两个备份文件。一个文件为由tab分割的文本,一行对应一条数据记录,在目录中这个文件输出名为tb1_name.txt。同样会创建一个含有CREATE TABLE语句,名为tb1_name.sql的文件。 6.4.1 使用mysqldump备份SQL数据(Dumping Data in SQL Format with mysqldump)默认语法
shell>mysqldump [arguments] > file_name
登入後複製
 备份所有数据库
shell>mysqldump --all-databases > dump.sql
登入後複製
如果你数据库有密码上面那样当然是不行的加上用用户密码选项
shell>mysqldump -uroot -p --all-databases > dump.sql
登入後複製
 选择性的备份数据库
shell>mysqldump --databases db1 db2 db3 > dump.sql
登入後複製
 --databases选项会把后面几个名称作为数据库名。没有这个选项mysqldump会把第一个当成数据库名,后面的当成表名。 --all-databases或--databases,mysqldump会为每一个数据库写入CREATE DATABASE和USE。以确保当备份文件被再次载入的时候,如果数据库不存在则创建数据库,然后设置为当前数据库(USE DATABASES),当INSERT的时候数据库的内容均会加载到同一个数据库中。 如果想要备份文件载入时强制删除数据库,可以使用--add-drop-database。这样mysqldump会在CREATE DATABASE前写入DROP DATABASE。 备份单个数据库
shell>mysqldump --databases test > dump.sql
登入後複製
在单个数据库时可以这样简写
shell>mysqldump test > dump.sql
登入後複製

省略--databases时备份文件没有CREATE DATABASE,USE。有下面几方面含义。1.当你导入备份文件时,你必须选择一个默认数据库名这样程序才知道要导入到哪个数据库。2.当导入到时候你可以选择一个不同的数据库名。3.如果要导入到数据库不存在,你必须提前创建。4.因为输出文件没有CREATE DATABASE,所以--add-drop-database选项没有效果,如果你使用也没有DROP DATABASE。 选择表备份,表名跟在数据库名之后
shell>mysqldump test t1 t3 t7 > dump.sql
登入後複製
 6.4.2 导入SQL备份文件(Reloading SQL-Format Backups)导入由mysqldump备份的文件,如果使用了--all-databases或--databases选项,包含CREATE DATABASE和USE。且不需要导入到不同的数据库中,可以这样写。
shell>mysql  另外在mysql内部你可以这样写<pre class="brush:php;toolbar:false">mysql>source dump.sql;
登入後複製
 如果是简写单个数据库导出没有CREATE DATABASE和USE,如果需要则先创建数据库。
shell>mysqladmin create db1
登入後複製
接着选择具体的数据库
shell>mysql db1  另外在mysql内部创建数据库,选择数据库,导入备份:<pre class="brush:php;toolbar:false">mysql>CREATE DATABASE IF NOT EXISTS db1;<br>mysql>USE db1;<br>mysql>source dump.sql
登入後複製
 6.4.3 使用mysqldump以分割文本方式备份(Dumping Data in Delimited-Text Format with mysqldump)mysqldump备份时使用--tab=dir_name,使用dir_name作为备份文件输出目录,每一个表对应两个文件,文件名为表名。例如表名为t1,文件名则为t1.sql和t1.txt。.sql文件含表的CREATE TABLE语句。.txt文件含表的数据,一行对应一条数据记录。例如备份数据库db1到/tmp目录
shell>mysqldump --tab=/tmp db1
登入後複製
 .txt文件被服务器创建其中包含表数据,为系统用户所有。当程序运行SELECT ... INTO OUTFILE写入文件时你必须拥有相应权限,.txt存在时会发生错误。 服务器发送创建CREATE备份表命令给mysqldump写入.sql,因此文件是mysqldump所有。 --tab最好的用法是本地备份。如果你用来备份远程服务器,--tab的目录必须本地和远程服务器都存在,.txt文件将会写入到远程服务器(on the server host)目录中,.sql文件将会写入到本地目录中(on the client host)。 对于mysql --tab,默认情况下服务器将表数据写入.txt一行一条记录两个值之间tab分割,没有引号,新的一行在行的末尾。(这些都为相同的默认值SELECT ... INTO OUTFILE) 通过选项输出不同的格式,mysqldump支持如下:--fields-terminated-by=str字段值之间的分隔符默认为tab --fields-enclosed-by=char字段值两边的分隔符默认为空(PS这个翻译过来真不知道说的对不对.效果可以参考INSERT INTO中如果VALUE是字符型就要加上双引号中的双引号) --fields-optionally-enclosed-by=char这个效果同上但只有字符型的字段值才会加默认值为空 --fields-escaped-by=char转义特殊字符的字符默认值无 --lines-terminated-by=str记录之间的分隔符默认值是换行 根据这些选项你可以指定任何值,可能需要在命令行中对值进行适当的引用或转义。另外可以使用16进制表示值,假设想要mysqldump输出的值引用双引号。可以添加 --fields-enclosed-by 选项指定值为双引号。但是这个值往往是特殊的转义字符需要处理一下。例如在unix上可以这样使用双引号:--fields-enclosed-by='"'在其他的平台可以使用16进制表示:--fields-enclosed-by=0x22 这是几个选项的同时使用的例子,记录以逗号分隔多条记录之间用换行/回车:
shell> mysqldump --tab=/tmp --fields-terminated-by=, --fields-enclosed-by='"' --lines-terminated-by=0x0d0adb1
登入後複製
(windows平台--fields-enclosed-by要等于0x22。换行符也没有出来变成了乱码,这个可能也需要改)当设置了数据输出格式,在导入备份数据的时候同样也要设置相同的格式,以保证内容正确导入。 6.4.4 导入以分割文本方式的备份(Reloading Delimited-Text Format Backups)使用mysqldump --tab文件备份,每一个表都被存储成包含CREATE TABLE语句的.sql文件和保护表数据的.txt文件。导入表之前先定位到备份文件的目录。这样.sql文件先创建空的表,然后.txt文件导入数据:
1 shell> mysql db1 2 shell> mysqlimport db1 t1.txt
登入後複製
 另外在mysql端导入需要使用LOAD DATA INFILE:
1 mysql> USE db1;<br>2 mysql> LOAD DATA INFILE 't1.txt' INTO TABLE t1;
登入後複製
(PS:范例中t1.txt的路径为当前选中数据库的路径,可以修改为绝对路径'C:/t1.txt') 如果在备份文件时使用了控制数据格式的选项,在使用mysqlimport或LOAD DATA INFILE导入时也需设置相同的选项:
1 shell>mysqlimport --fields-terminated-by=, --fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1 t1.txt
登入後複製
1 mysql>USE db1;<br>2 mysql>LOAD DATA INFILE 't1.txt' INTO TABLE t1<br>3     ->FIELDS TERMINATED BY ',' FIELDS ENCLOSED BY '"'<br>4     ->LINES TERMINATED BY '/r/n';
登入後複製
 6.4.5 mysqldump技巧(mysqldump Tips)这一章解决些常见问题所需的技术如何创建备份数据库如何从一个服务器将数据库拷贝到另一个服务器如何备份一个存储程序(存储过程函数,触发器,日志)如何备份数据和创建分离 6.4.5.1 创建数据库备份文件(Making a Copy of a Database)
1 shell> mysqldump db1 > dump.sql<br>2 shell> mysqladmin create db2<br>3 shell> mysql db2 在使用db1备份文件覆盖db2时不要使用--databases选项因为那样会在备份文件中写入USE db1. <strong>6.4.5.2 从一个服务器复制数据库到另一个服务器(Copy a Database from one Server to Another)</strong>服务器1:<pre class="brush:php;toolbar:false">1 shell>mysqldump --databases db1 > dump.sql
登入後複製
将备份文件复制到服务器2 服务器2:
1 shell>mysql  使用mysqldump时添加--database选项备份文件会包含CREATE DATABASE和USE语句,如果不存在则会创建同时设为默认数据库在导入数据。 你可以忽略--database选项,但在导入数据库的时候需要创建一个数据库(如果需要)然后设置为当前数据库。 服务器1:<pre class="brush:php;toolbar:false">1 shell>mysqldump db1 > dump.sql
登入後複製
服务器2:
1 shell> mysqladmin create db1<br>2 shell> mysql db1 所以忽略--database选项就可以选择不同的数据库导入。 <strong>6.4.5.3 备份存储程序(Dumping Stored Programs)</strong>以下是存储程序几个可选选项(存储过程函数,触发器,日志)--events:调度事件--routines:存储过程和函数--triggers:触发器 triggers默认是备份的routines,events需要选择性备份默认是不备份的可以选择跳过--skip-events, --skip-routines, --skip-triggers。 <strong>6.4.5.4 备份表定义和内容分开(Dumping Table Definitions and Content Separately)</strong>--no-data选项告诉mysqldump不备份表数据,备份文件仅包括创建表。相对的--no-create-info选项告诉mysqldump备份仅包含数据。示例:<pre class="brush:php;toolbar:false">1 shell> mysqldump --no-data test > dump-defs.sql<br>2 shell> mysqldump --no-create-info test > dump-data.sql
登入後複製
 一个只备份CREATE存储和事件的例子:
shell> mysqldump --no-data --routines --event stest > dump-defs.sql
登入後複製
 6.4.5.5 用备份来测试mysql升级后兼容的问题(Using mysqldump to test for Upgrade Incompatibilities)当考虑mysql升级时需要谨慎的考虑安装新的版本,独立于现有的版本。这时可以备份现有数据库导入到新的版本中。(这是一个测试新版本经常使用的方法)在现有服务器:
shell> mysqldump --all-databases --no-data --routines --events > dump-defs.sql
登入後複製
 在新服务器:
shell> mysql  因为备份文件没有表数据库,所以可以处理的很快。这可以发现潜在的不兼容,而不需要长时间的数据加载操作。查看备份文件处理时发生的警告或错误。在验证了没有兼容性问题后备份表数据导入到新服务器在现有服务器:<pre class="brush:php;toolbar:false">shell> mysqldump --all-databases --no-create-info > dump-data.sql
登入後複製
 在新服务器:
shell> mysql 现在检查表内容运行一些测试查询bitsCN.com
    
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

edge瀏覽器附的翻譯網頁不見了怎麼辦? edge瀏覽器附的翻譯網頁不見了怎麼辦? Mar 14, 2024 pm 08:50 PM

edge瀏覽器自帶了翻譯功能讓用戶們可以隨時隨地的進行翻譯,為用戶們帶來了極大的便利,可也有不少的用戶們表示自帶的翻譯網頁不見了,那edge瀏覽器自帶的翻譯網頁不見了怎麼辦?下面就讓本站來介紹一下edge瀏覽器自備的翻譯網頁不見了怎麼恢復方法吧。  edge瀏覽器自帶的翻譯網頁不見了怎麼恢復方法  1、檢查是否啟用了翻譯功能:在Edge瀏覽器中,點擊右上角的三個點圖標,然後選擇「設定」選項。在設定頁面的左側,選擇“語言”選項。確保“翻譯&rd

搜狗瀏覽器怎麼翻譯 搜狗瀏覽器怎麼翻譯 Feb 01, 2024 am 11:09 AM

搜狗瀏覽器怎麼翻譯?我們平常會用搜狗瀏覽器查閱資料的時候,會遇到一些全是英文的網站,因為看不懂英文對網站瀏覽起來就很困難,這樣也十分的不方便,遇到這種情況沒有關係!搜狗瀏覽器有內建翻譯按鈕,只要點擊一下,搜狗瀏覽器就會自動幫你翻譯整個網頁?如果你不會操作的話,小編整理搜狗瀏覽器怎麼翻譯的具體方法步驟,不會的話跟著我往下看吧!搜狗瀏覽器怎麼翻譯1、開啟搜狗瀏覽器,點選右上角的譯字圖示2、選擇翻譯文字類型,然後輸入需要翻譯的文字3、搜狗瀏覽器就會自動翻譯文字,至此操作完成以上搜狗瀏覽器怎麼翻譯的全部內

看片不怕沒字幕!小米宣布小愛翻譯即時字幕上線日韓文翻譯 看片不怕沒字幕!小米宣布小愛翻譯即時字幕上線日韓文翻譯 Jul 22, 2024 pm 02:11 PM

7月22日消息,今日,小米澎湃OS官微宣布小愛翻譯迎來升級,實時字幕新增日韓語翻譯,無字幕視頻、直播會議實時轉錄翻譯。面對面同聲傳譯支持12種語言互譯,包括中文、英語、日語、韓語、俄語、葡萄牙語、西班牙語、義大利語、法語、德語、印尼語、印地語。以上功能目前僅支援以下三款新機:小米MIXFold4小米MIXFlipRedmiK70至尊版據悉,2021年,小愛同學AI字幕宣布加入日文、韓文翻譯。 AI字幕採用小米自研同聲傳譯技術,提供更快速、穩定且精準的字幕閱讀體驗。 1.官方稱,小愛翻譯不僅能在影音場

谷歌瀏覽器自備翻譯失效如何解決? 谷歌瀏覽器自備翻譯失效如何解決? Mar 13, 2024 pm 08:46 PM

  瀏覽器通常都會自備翻譯功能,這樣在瀏覽外文網站時就不用擔心看不懂啦!谷歌瀏覽器也不例外,但是有用戶發現自己打開谷歌瀏覽器的翻譯功能時沒有反應,失效了,這該如何處理?可以試試小編找到的最新解決方案。  操作教學:  點選右上角三個點,點選設定。  點擊新增語言,新增英文和中文,並為他們做出下面設置,英文設定詢問是否翻譯此語言網頁,中文設定以這種語言顯示網頁,並且中文要移至頂部,才能設定為預設語言。  如果你打開網頁沒有彈出是否翻譯選項,右鍵選擇翻譯中文,ok。

基於JavaScript建立即時翻譯工具 基於JavaScript建立即時翻譯工具 Aug 09, 2023 pm 07:22 PM

基於JavaScript建立即時翻譯工具引言隨著全球化的需求日益增長,跨國交流與交流的頻繁發生,即時翻譯工具成為了一種非常重要的應用。我們可以利用JavaScript和一些現有的API來建立一個簡單但實用的即時翻譯工具。本文將會介紹如何基於JavaScript來實現這個功能,並附有程式碼範例。實作步驟步驟1:建立HTML結構首先,我們需要建立一個簡單的HTML

谷歌瀏覽器翻譯不了中文怎麼回事 谷歌瀏覽器翻譯不了中文怎麼回事 Mar 11, 2024 pm 04:04 PM

谷歌瀏覽器翻譯不了中文怎麼回事?眾所周知Google瀏覽器是自備翻譯的瀏覽器之一,大家在這款瀏覽器裡瀏覽其他國家文字的頁面時,瀏覽器會自動將頁面翻譯成中文,最近有部分用戶表示,自己在瀏覽器網頁的時候無法進行中文翻譯,這個時候我們需要在設定裡進行修復。接下來小編就帶給大家谷歌瀏覽器翻譯不了中文解決辦法,有興趣的朋友快來看看。 Google瀏覽器翻譯不了中文解決方案1、修改本地的hosts文件hosts是一個沒有擴展名的系統文件,可以用記事本等工具打開,主要作用是定義IP地址和主機名的映射關係,是一個映射IP地址

如何解決搜狗瀏覽器無法翻譯網頁的問題 如何解決搜狗瀏覽器無法翻譯網頁的問題 Jan 29, 2024 pm 09:18 PM

搜狗瀏覽器無法翻譯此網頁怎麼辦?搜狗瀏覽器是一款非常好用的多功能瀏覽器,其中的網頁翻譯功能非常強大,能夠幫助我們解決學習工作中的大多數麻煩。不過有些小夥伴卻反應搜狗瀏覽器有著無法翻譯此網頁的問題,這可能是因為操作不當造成的,只需要正確的操作翻譯功能就能解決,下面就由小編為大家帶來搜狗瀏覽器無法翻譯此網頁解決方法。搜狗瀏覽器無法翻譯此網頁解決方法一:1、下載並安裝搜狗瀏覽器2、開啟搜狗瀏覽器3、任意開啟一個英文網站4、網站開啟後,點選右上角的譯字圖示5、選擇翻譯文字類型,然後按一下翻譯目前網頁6

iOS 17.2:如何使用 iPhone 的操作按鈕翻譯語音 iOS 17.2:如何使用 iPhone 的操作按鈕翻譯語音 Dec 15, 2023 pm 11:21 PM

在iOS17.2中,使用iPhone操作按鈕的新自訂翻譯選項克服溝通障礙。繼續閱讀以了解如何使用它。如果您的iPhone帶有操作按鈕,例如iPhone15Pro,Apple的iOS17.2軟體更新為該按鈕帶來了新的翻譯選項,可讓您將即時對話翻譯成多種語言。根據蘋果公司的說法,翻譯不僅準確,而且具有上下文感知能力,確保有效地捕捉細微差別和口語。該功能對於旅行者、學生和任何學習語言的人來說都應該是一個福音。在使用翻譯功能之前,請務必選擇要翻譯的語言。您可以透過Apple內建的翻譯應用程式執行此操作

See all articles