搜尋
首頁資料庫mysql教程mysql数据库的备份和还原的总结_MySQL

bitsCN.com

平时对数据库的操作基本是对数据表以及表中的数据操作,对数据库的备份和还原用到的较少,今天在此总结下,当作是一个自我学习的过程。

1,数据库的备份

用mysqldump命令,原因:该工具在多个存储引擎上使用,此外其备份的数据库文件只要进行简单的修改便可在sql server和sybase上使用。

格式:mysqldump -h localhost(填数据所在的主机名) -u root(用户名) -p db_name(要备份的数据库名)>path(要备份的地址)

例如:打开dos窗输入 mysqldump -u root -p db_name>E:/11.sql;

如果只想单独备份数据库中的某个表就在数据库名后加表名就好

例如备份db_name数据库中的table1表:mysqldump -u root -p db_nametable1>E:/11.sql;

如果想备份多个数据库,则加入关键字--databases 如下:mysqldump -u root -p--databases db_name1db_name2>E:/db.sql; 实现了对db_name1和数据库db_name2的备份。

此外需要特别注意的一点时,不加--databases对数据库进行备份后,如过被备份的数据库直接被删除后,无法直接用备份进行恢复,因为 “mysqldump -u root -p db_name>E:/db.sql”只备份了db_name数据库下的所有表,文件中不包括创建数据库的CREATE DATABASE语句,因此如果把db_name删了使用db.sql还原时会出现:“No database selected”的错误信息,因此在还原前必须先创建db_name数据库,并用use db_name选中。或者在备份时,直接用mysqldump -u root -p --databases db_name>db.sql,这样不仅备份了所用数据库下的表结构,而且包括了创建数据库的语句。

2,数据的还原

如果没有登录mysql数据库,mysql -h localhost -u root -p db_name(数据库名)

如果已经登录了mysql里面则通过source语句还原:先在mysql中选择要还原的数据库,即use db_name; 然后执行source filename.sql(文件路径名)

3,表的导入导出

mysql关键的操作是对数据操作,而数据是存储在表中,因此对数据的直接操作是通过表的导入导出实现的,表的导入与导出有多种方法下面我们就总结一下:

一、已登录mysql,用select...into outfile导出文件,用load data infile导入文件

格式:use db_name 进入某个数据库

select * from table_name into outfile "filepath.txt"; 将表table_name导出filepath路径下的文件中

load data infile "filepath.txt" into table table_name; 将filepath.txt的数据导入到表table_name中;

上面这两条语句都有一些可选项[options]来规定导入、导出时数据的格式,如:

select * from table_name into outfile "filepath.txt"

fields

terminated by ','

enclosed by ' /" '

escaped by ' /' '

lines

terminated by '/r/n'

staring by '>'

fields下的terminated by ','表示导出的数据字段之间用,相隔,enclosed by ' /" ' 表示每个字段被双引号包围,escaped by ' /' '表示将转义字符定义为单引号。lines下的terminated by '/r/n'表示每行记录以回车换行符结尾,staring by '>'表示每一行以‘ > ’字符开始。例子如下:

不加option的导出数据格式为

1Tale of AAA Dickes28 1995novel 112EmmaT Jane lura40 1993drama 22

加了如上option的导出数据格式为

> "1","Tale of AAA",...
> "2","EmmaT",...

 

二 不登录mysql

用mysqldump命令导出文件,感觉跟备份数据库相似,命令如下:

mysqldump -T path dbname table_name -u root -p

path为导出的路径,dbname为数据库名 table_name为数据库中的表名。

也可像select ... into outfile 一样加option可选项如下:

mysqldump -T path dbname table_name -u root -p --fields-terminated-by=,--fields-enclosed-by=/"--fields-escaped-by=?--lines-terminated-by=/r/n

用mysql命令导出数据库

mysql -u root -p --execute="select 语句" dbname>filename.txt

同样可以用mysql导出html格式的数据,使用--html选项即可

mysql -u root -p --html --execute="select 语句" dbname>filename.html

mysql -u root -p --xml --execute="select 语句" dbname>filename.xml

用mysqlimport导入文本文件

mysqlimport -u root -p db_name filename.txt

也可以带有可选参数如mysqldump的参数。

mysqlimport -u root -p db_name filename.txt --fields-terminated-by=,--fields-enclosed-by=/"--fields-escaped-by=?--lines-terminated-by=/r/n

 

 

bitsCN.com

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
將用戶添加到MySQL:完整的教程將用戶添加到MySQL:完整的教程May 12, 2025 am 12:14 AM

掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

掌握mySQL字符串數據類型:varchar vs.文本與char掌握mySQL字符串數據類型:varchar vs.文本與charMay 12, 2025 am 12:12 AM

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

MySQL:字符串數據類型和索引:最佳實踐MySQL:字符串數據類型和索引:最佳實踐May 12, 2025 am 12:11 AM

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

mysql:如何遠程添加用戶mysql:如何遠程添加用戶May 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

MySQL字符串數據類型的最終指南:有效的數據存儲MySQL字符串數據類型的最終指南:有效的數據存儲May 12, 2025 am 12:05 AM

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

mysql blob vs.文本:為大對象選擇正確的數據類型mysql blob vs.文本:為大對象選擇正確的數據類型May 11, 2025 am 12:13 AM

選擇MySQL的BLOB和TEXT數據類型時,BLOB適合存儲二進制數據,TEXT適合存儲文本數據。 1)BLOB適用於圖片、音頻等二進制數據,2)TEXT適用於文章、評論等文本數據,選擇時需考慮數據性質和性能優化。

MySQL:我應該將root用戶用於產品嗎?MySQL:我應該將root用戶用於產品嗎?May 11, 2025 am 12:11 AM

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

MySQL字符串數據類型說明了:選擇適合您數據的合適類型MySQL字符串數據類型說明了:選擇適合您數據的合適類型May 11, 2025 am 12:10 AM

mySqlStringDatatAtatPessHouldBechoseBasedondatActarActeristicsAndusecases:1)USEcharforFixed lengthStstringStringStringSlikeCountryCodes.2)usevarcharforvariable-lengtthslikeLikenames.3)usebarnionororvarinyorvarinyorvarybinarydatalgebenedaTalgeextocrabextrapon.4)

See all articles

熱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

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

熱門文章

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。