mysql備份還原(視圖、存儲過程)

最近在備份還原mysql的時候發現,視圖還原報錯,無法創建視圖,在網上查了下資料,找到以下信息:

1、如果備份的數據庫含有視圖,還原時需要把my.ini中的character-set改為latin1,才能夠還原視圖。

2、還原后,需要把latin1改為gb2312,否則存儲過程不能使用.

3、存儲過程不能隨著數據庫備份,對于存儲過程的還原,還是通過手工復制SQL語句,在QUERY里執行。

感覺有點麻煩,于是又尋找其它方法,通過以下方法備份mysql數據庫后,再進行還原,就沒有報錯,視圖也還原進去了:

#windowsmysql備份還原,可不用修改my.ini來還原視圖(已驗證)

mysqldump -uroot -p123 --default-character-set=gbk --opt --extended-insert=false --triggers -R --hex-blob -x db_name > f:\db.sql

?

mysql -uroot -p123 -f db_name < f:\db.sql

?

linux:

SQL?來備份?MyISAM?表:

/usr/local/mysql/bin/mysqldump -uroot -p123 --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 -uroot -p123 --default -character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction db_name > db_name.sql

?

參數注解:

mysqldump?是采用SQL級別的備份機制,它將數據表導成?SQL?腳本文件,在不同的?MySQL?版本之間升級時相對比較合適,這也是最常用的備份方法。現在來講一下?mysqldump?的一些主要參數:

--compatible=name?它告訴?mysqldump,導出的數據將和哪種數據庫或哪個舊版本的?MySQL?服務器相兼容。值可以為ansimysql323mysql40postgresqloraclemssqldb2maxdbno_key_optionsno_tables_optionsno_field_options?等,要使用幾個值,用逗號將它們隔開。當然了,它并不保證能完全兼容,而是盡量兼容。

--complete-insert-c?導出的數據采用包含字段名的完整?INSERT?方式,也就是把所有的值都寫在一行。這么做能提高插入效率,但是可能會受到?max_allowed_packet?參數的影響而導致插入失敗。因此,需要謹慎使用該參數,至少我不推薦。

--default-character-set=charset?指定導出數據時采用何種字符集,如果數據表不是采用默認的latin1?字符集的話,那么導出時必須指定該選項,否則再次導入數據后將產生亂碼問題。

--disable-keys?告訴?mysqldump??INSERT?語句的開頭和結尾增加?/*!40000 ALTER TABLE table DISABLE KEYS */;??/*!40000 ALTER TABLE table ENABLE KEYS */;?語句,這能大大提高插入語句的速度,因為它是在插入完所有數據后才重建索引的。該選項只適合?MyISAM?表。

--extended-insert = true|false?默認情況下,mysqldump?開啟?--complete-insert?模式,因此不想用它的的話,就使用本選項,設定它的值為?false?即可。

--hex-blob?使用十六進制格式導出二進制字符串字段。如果有二進制數據就必須使用本選項。影響到的字段類型有?BINARYVARBINARYBLOB

--lock-all-tables-x?在開始導出之前,提交請求鎖定所有數據庫中的所有表,以保證數據的一致性。這是一個全局讀鎖,并且自動關閉?--single-transaction??--lock-tables?選項。

--lock-tables?它和?--lock-all-tables?類似,不過是鎖定當前導出的數據表,而不是一下子鎖定全部庫下的表。本選項只適用于?MyISAM?表,如果是?Innodb?表可以用?--single-transaction?選項。

--no-create-info-t?只導出數據,而不添加?CREATE TABLE?語句。

--no-data-d?不導出任何數據,只導出數據庫表結構。

--opt?這只是一個快捷選項,等同于同時添加?--add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset?選項。本選項能讓?mysqldump?很快的導出數據,并且導出的數據能很快導回。該選項默認開啟,但可以用?--skip-opt?禁用。注意,如果運行?mysqldump?沒有指定?--quick??--opt?選項,則會將整個結果集放在內存中。如果導出大數據庫的話可能會出現問題。

--quick-q?該選項在導出大表時很有用,它強制?mysqldump?從服務器查詢取得記錄直接輸出而不是取得所有記錄后將它們緩存到內存中。

--routines-R?導出存儲過程以及自定義函數。

--single-transaction?該選項在導出數據之前提交一個?BEGIN SQL語句,BEGIN?不會阻塞任何應用程序且能保證導出時數據庫的一致性狀態。它只適用于事務表,例如?InnoDB??BDB。本選項和?--lock-tables?選項是互斥的,因為?LOCK TABLES?會使任何掛起的事務隱含提交。要想導出大表的話,應結合使用?--quick?選項。

--triggers?同時導出觸發器。該選項默認啟用,用?--skip-triggers?禁用它。


本文轉自king_819 51CTO博客,原文鏈接:http://blog.51cto.com/kerry/177570,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453901.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453901.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453901.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

有關javabean的說法不正確的是_關于 JavaBean, 下列敘述中不正確的是 ( ) 。_學小易找答案...

【填空題】在使用 URL 傳值時傳輸的數據只能是 類型。【簡答題】陶器是人類最偉大的發明,比四大發明更有意義,你如何認為?(手機上直接回答提交)【單選題】對于 ( ) 作用范圍的 Bean, 當客戶離開這個頁面時 JSP 引擎取消為客戶的該頁 面分配的 Bean, 釋放他所占的內存空間。【填…

Postgres中tuple的組裝與插入

1.相關的數據類型 我們先看相關的數據類型&#xff1a; HeapTupleData(src/include/access/htup.h) typedef struct HeapTupleData {uint32 t_len; /* length of *t_data */ItemPointerData t_self; /* SelfItemPointer */Oid t_tableOid; /* ta…

Python 自動生成環境依賴包 requirements

一、生成當前 python 環境 安裝的所有依賴包 1、命令 # cd 到項目路徑下&#xff0c;執行以下命令 pip freeze > requirements.txt# 或者使用如下命令 pip list --formatfreeze > requirements.txt 2、常見問題 1、中使用 pip freeze > requirements.txt 命令導出…

DenyHosts 加固centos系統安全

DenyHosts是Python語言寫的一個程序&#xff0c;它會分析sshd的日志文件&#xff08;/var/log/secure&#xff09;&#xff0c;當發現重 復的攻擊時就會記錄IP到/etc/hosts.deny文件&#xff0c;從而達到自動屏IP的功能 DenyHosts官方網站 http://denyhosts.sourceforge.net 下…

在windows xp下編譯出ffmpeg.exe

找了好多資料&#xff0c;把自己的編譯成功過程詳細敘述&#xff0c;以避免后來者可以少浪費點時間。 1.安裝MSys 到http://sourceforge.net/project/showfiles.php?group_id2435下載文件&#xff1a;   bash-3.1-MSYS-1.0.11-tar.bz2   msysCORE-1.0.11-2007.01.19-1.ta…

手機uc怎么放大頁面_手機網站怎樣做可以提高用戶體驗度?——竹晨網絡

目前&#xff0c;手機已經占據了人們大多數的閑暇時間&#xff0c;互聯網的流量開始逐漸向移動端傾斜&#xff0c;重視移動端的用戶體驗&#xff0c;就可以給客戶端增加很多意想不到的功能。但是還是有很多公司和站長不知道手機網站應該怎么建才能符合用戶的使用習慣。下面&…

科技申報項目總結

這個項目分為三大模塊&#xff0c;管理員&#xff0c;專家以及單位模塊&#xff0c;具體頁面有&#xff1a;1單位信息&#xff1b;2項目申報&#xff1b;3專家信息&#xff1b;4項目評審&#xff1b;5 項目信息&#xff1b;6申報設置&#xff1b;7專家信息。 —-項目框架SSM&am…

kafka 異常:ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOExce

問題概述 kafka進程不定期掛掉。ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOException (kafka.server.LogDirFailureChannel)&#xff0c;報錯如下 [2020-12-07 16:12:36,803] ERROR Failed to clean up log for __consumer_o…

樹形控件(CTreeCtrl和CTreeView)

如何插入數據項目&#xff1f;如何添加鼠標右擊事件&#xff1f;插入數據項 通過InsertItem()方法&#xff0c;有四種重載樣式: HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct); HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage,int nSelectedImage, …

ffmpeg編譯(生成Windows或Win32平臺dll, lib)

ffmpeg編譯(生成Windows或Win32平臺dll, lib) 介紹&#xff1a;本文簡要介紹通過cygwin環境來編譯生成ffmpeg。 包括解碼組件libfaad與libopencore-amrnb的編譯。 1)安裝msys mingw環境 具體安裝過程可以看網上教程 我用的是&#xff1a;http://code.google.com/p/msys-cn/ 假…

2019python課件_2019版經典Python學習路線分享

Python有三大神器&#xff0c;包括numpy,scipy,matplotlib,因此適合用于數據處理。spark&#xff0c;Hadoop都開了Python的接口&#xff0c;所以使用Python做Python的mapreduce也非常簡單。因此它也備受歡迎&#xff0c;python學習大綱分享給大家。一、Python基礎1.2數據的存儲…

UML之涉眾/參與者(角色/執行者)(Actor)/業務主角(BusinessActor)/業務工人(BusinessWorker)/用戶/角色辨析【圖解】...

參考文檔&#xff1a; 【業務建模】(http://www.baike.com/wiki/%E4%B8%9A%E5%8A%A1%E5%BB%BA%E6%A8%A1) 【UML 核心元素之參與者】(http://www.voidcn.com/article/p-obarwwaq-tp.html) 【UML核心元素之參與者】(http://www.voidcn.com/article/p-ntpnhoue-da.html)轉載于:htt…

git 報錯:Please make sure you have the correct access rights and the repository exists

提示&#xff1a;Warning: Permanently added gitee.com,120.55.226.24 (ECDSA) to the list of known hosts.是公鑰出問題了&#xff0c;要先設置用戶和郵箱再重新生成ssh公鑰即可。 1、首先我得重新在git設置一下身份的名字和郵箱 進入到需要提交的文件夾底下&#xff08;…

java 實現excel 導出功能

實現功能&#xff1a;java導出excel表 1、jsp代碼 1 <form id"zhanwForm" action"<%path%>/conferences.do?" target"_self" method"get" > 2 <input type"hidden" name"method" value…

python 內置模塊 subprocess

1、介紹 subprocess模塊可以生成新的進程&#xff0c;連接到它們的input/output/error管道&#xff0c;同時獲取它們的返回碼。 2、基本操作方法 2.1、subprocess的run、call、check_call、check_output函數 subprocess.run(args[, stdout, stderr, shell ...]) 執行args命…

Windows下的FFmpeg 、MEncoder、MPlayer下載地址

視頻轉碼常用的是MEncoder&#xff0c;這個工具包含在MPlayer中&#xff0c;也可以使用FFmpeg&#xff0c;但據說有些格式轉換的時候效率不及MEcoder&#xff0c;所以能用MEncoder轉換的盡量用MEncoder轉換&#xff0c;由于MEncoder暫時還沒有研究&#xff0c;等研究過了再補充…

功率曲線k值_什么叫離心泵的流量——功率曲線?它們之間有什么關系?

流量和功率之間為正比例關系。流量增加時功率也增加&#xff0c;增加快、慢與比轉數有關。比轉數越小&#xff0c;流量增加后功率增加越快&#xff1b;比轉數越大&#xff0c;流量增加后功率增加越慢。 離心泵的性能參數與特性曲線泵的性能及相互之間的關系是選泵和進行流量調節…

什么是CI/CD

一、簡介 CI / CD的采用改變了開發人員和測試人員如何發布軟件。 最初是瀑布模型&#xff0c;后來是敏捷開發&#xff0c;現在是DevOps&#xff0c;這是現代開發人員構建出色的產品的技術路線。隨著DevOps的興起&#xff0c;出現了持續集成&#xff08;Continuous Integration…

FFmpeg在Windows系統下的編譯過程

由于FFMpeg是基于Linux開發的開源項目&#xff0c;源代碼和Windows下最常見的Visual Studio提供的C/C編譯器不兼容&#xff0c;因此它不能使用MSVC編譯。要想使用FFMpeg&#xff0c;最先要解決的問題就是在Windows下配置一個類似Linux的編譯環境&#xff0c;將FFMpeg編譯為二進…

centos 文件夾網絡連接_centos8 安裝后網絡不通及網絡配置

一 修改配置文件設置網絡時首先打開配置文件&#xff0c;配置文件默認如下所示&#xff0c;如果使用dhcp自動獲取ip&#xff0c;只需將ONBOOTno修改為ONBOOTno即可。#網卡配置文件按默認配置TYPEEthernetPROXY_METHODnoneBROWSER_ONLYnoBOOTPROTOdhcpDEFROUTEyesIPV4_FAILURE_F…