最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql如何將數(shù)據(jù)庫中的所有表結(jié)構(gòu)和數(shù)據(jù)導(dǎo)入到另一個(gè)庫

 更新時(shí)間:2024年10月11日 08:59:48   作者:尋求出路的程序媛  
介紹了如何使用mysqldump命令備份和導(dǎo)入數(shù)據(jù)庫,以及創(chuàng)建目標(biāo)數(shù)據(jù)庫的步驟,首先使用mysqldump備份源數(shù)據(jù)庫,然后在目標(biāo)數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫,并將備份文件導(dǎo)入到目標(biāo)數(shù)據(jù)庫,確保數(shù)據(jù)結(jié)構(gòu)和內(nèi)容完整復(fù)制,提到了DataGrip、Navicat在導(dǎo)入導(dǎo)出過程中可能出現(xiàn)的問題

一、問題描述

  • 在本地開發(fā)一個(gè)功能,需要結(jié)合具體數(shù)據(jù)測(cè)試代碼是否正確,但服務(wù)器上的數(shù)據(jù)不可隨便修改。此時(shí)則需要將服務(wù)器上某個(gè)數(shù)據(jù)庫的表批量導(dǎo)入到本地、而后進(jìn)行測(cè)試。
  • 將數(shù)據(jù)庫db1中的所有表及數(shù)據(jù)(如table1、table2),批量導(dǎo)入到另一個(gè)數(shù)據(jù)庫db2中。

二、解決方案

剛開始自己一直嘗試用DataGrip、Navicat的sql/csv格式導(dǎo)入導(dǎo)出,總有錯(cuò)誤或者遺漏,比如報(bào)錯(cuò)中止、50張表卻只導(dǎo)入32張等,可能是操作方式有誤或者數(shù)據(jù)格式有問題。

也試過用sql語句,但仍失敗。經(jīng)查閱資料、嘗試多次,終于成功,記錄如下。

1.使用mysqldump命令備份數(shù)據(jù)庫

首先使用mysqldump命令來備份源數(shù)據(jù)庫。

mysqldump是MySQL自帶的命令行工具,可通過在cmd(windows)或 Linux終端(Linux)中執(zhí)行如下命令來備份整個(gè)數(shù)據(jù)庫:

mysqldump -u <username> -p <database_name> > backup.sql

其中,是數(shù)據(jù)庫的用戶名,<database_name>是要備份的數(shù)據(jù)庫的名稱,backup.sql是備份文件的名稱。

執(zhí)行完該命令后,會(huì)在當(dāng)前目錄生成一個(gè)名為backup.sql的文件,該文件包含了源數(shù)據(jù)庫的所有表結(jié)構(gòu)和數(shù)據(jù)。

其他的一些導(dǎo)出語句,可參考以下:

//導(dǎo)出完整數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名  
//導(dǎo)出數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u 用戶名 -p -d 數(shù)據(jù)庫名 > 導(dǎo)出的文件名 
//導(dǎo)出一個(gè)表,包括表結(jié)構(gòu)和數(shù)據(jù) 
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名     
//導(dǎo)出一個(gè)表結(jié)構(gòu)
mysqldump -u 用戶名 -p -d數(shù)據(jù)庫名  表名> 導(dǎo)出的文件名   

注:

建議使用mysqldump備份數(shù)據(jù)庫,能完整保留源數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)。

DataGrip、Navicat的導(dǎo)入導(dǎo)出,由于兩個(gè)數(shù)據(jù)庫之間可能存在差異,數(shù)據(jù)結(jié)構(gòu)、格式會(huì)發(fā)生改變,導(dǎo)致復(fù)制失敗。

2.創(chuàng)建目標(biāo)數(shù)據(jù)庫

需要在目標(biāo)數(shù)據(jù)庫中創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫,可以使用MySQL的命令行工具登錄到目標(biāo)數(shù)據(jù)庫,執(zhí)行以下命令來創(chuàng)建數(shù)據(jù)庫:

create database <database_name>;

其中,<database_name>是目標(biāo)數(shù)據(jù)庫的名稱。

3.導(dǎo)入數(shù)據(jù) 到目標(biāo)數(shù)據(jù)庫

有了源數(shù)據(jù)庫的備份文件和目標(biāo)數(shù)據(jù)庫,可以使用MySQL的命令行工具將備份的sql語句導(dǎo)入到目標(biāo)數(shù)據(jù)庫。

進(jìn)入backup.sql所在目錄(如果是從服務(wù)器導(dǎo)入到本機(jī) 可將服務(wù)器上生成的backup.sql文件下載到本地),在目標(biāo)數(shù)據(jù)庫的終端執(zhí)行以下命令:

mysql -u <username> -p <database_name> < backup.sql

其中,是目標(biāo)數(shù)據(jù)庫的用戶名,<database_name>是目標(biāo)數(shù)據(jù)庫的名稱,backup.sql是源數(shù)據(jù)庫的備份文件。

執(zhí)行完該命令后,目標(biāo)數(shù)據(jù)庫將包含與源數(shù)據(jù)庫完全相同的所有表結(jié)構(gòu)和數(shù)據(jù)。

三、補(bǔ)充知識(shí)

3.1 mysqldump命令介紹

[root@localhost ~]# mysqldump -help
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

登錄選項(xiàng)

1.登錄選項(xiàng):
    -u user:指定用戶
    -h host:指定主機(jī)
    -p:表示要使用密碼
    -E, --events: 備份事件調(diào)度器
    -R, --routines: 備份存儲(chǔ)過程和存儲(chǔ)函數(shù)
2.備份選項(xiàng):
    --all-databases:備份所有數(shù)據(jù)庫
    --databases db1 db2:備份指定的數(shù)據(jù)庫
    --single-transaction:對(duì)事務(wù)引擎執(zhí)行熱備
    --flush-logs:更新二進(jìn)制日志文件
    --master-data=2
        1:每備份一個(gè)庫就生成一個(gè)新的二進(jìn)制文件(默認(rèn))
        2:只生成一個(gè)新的二進(jìn)制文件
    --quick:在備份大表時(shí)指定該選項(xiàng)

3.2 常用備份命令

//導(dǎo)出命令
#導(dǎo)出包括系統(tǒng)數(shù)據(jù)庫在內(nèi)的所有數(shù)據(jù)庫(all.sql默認(rèn)保存在bin文件夾下面)
	mysqldump -u username -p --all-databases > filename.sql
#導(dǎo)出指定數(shù)據(jù)庫表結(jié)構(gòu)和數(shù)據(jù)
	mysqldump -u username -p dbname [tbname...] > filename.sql	
#導(dǎo)出多個(gè)數(shù)據(jù)庫:
	mysqldump -u username -p --databases db1 db2 ...> filename.sql
#導(dǎo)出多張表:
	mysqldump -u username -p --databases db1 --tables t1 t2> filename.sql
#只導(dǎo)出表結(jié)構(gòu)不導(dǎo)表數(shù)據(jù),添加“-d”命令參數(shù)
    mysqldump -u username -p -d dbname [tbname...] > filename.sql
#只導(dǎo)出表數(shù)據(jù)不導(dǎo)表結(jié)構(gòu),添加“-t”命令參數(shù)
    mysqldump -u username -p -t dbname [tbname...] > d:/user.sql
#只導(dǎo)出db1數(shù)據(jù)庫的表結(jié)構(gòu)
 導(dǎo)出:mysqldump -u root -p --no-data --databases db1 > backup.sql
 導(dǎo)入:mysql -u root -p db1 < backup.sql
 
 
#系統(tǒng)行導(dǎo)入命令
  mysql -u username -p dbname < d:XX.sql(路徑) 
  mysql -u root -p db_name < d:/backup.sql
#source導(dǎo)入
  mysql> use db_name;
  mysql> source /backup/mysqldump/backup.sql(路徑)

參數(shù)說明:

  • username:表示用戶名稱;
  • dbname:表示需要備份的數(shù)據(jù)庫名稱;
  • tbname:表示數(shù)據(jù)庫中需要備份的數(shù)據(jù)表,可以指定多個(gè)數(shù)據(jù)表。省略該參數(shù)時(shí),會(huì)備份整個(gè)數(shù)據(jù)庫;
  • 右箭頭“>”:用來告訴 mysqldump 將備份數(shù)據(jù)表的定義和數(shù)據(jù)寫入備份文件;
  • filename.sql:表示備份文件的名稱,文件名前面可以加絕對(duì)路徑。通常將數(shù)據(jù)庫備份成一個(gè)后綴名為.sql的文件。

注意:

mysqldump 命令必須在 cmd 窗口下執(zhí)行,不能登錄到 MySQL 服務(wù)中執(zhí)行。

輸入密碼后,Mysql就會(huì)進(jìn)行備份了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Sql在單一表中檢索數(shù)據(jù)的方法詳解

    Sql在單一表中檢索數(shù)據(jù)的方法詳解

    這篇文章主要介紹了Sql在單一表中檢索數(shù)據(jù)的方法,SELECT語句是SQL中最常用的語句。它的用途是從一個(gè)或多個(gè)表中檢索信息。為了使用SELECT檢索表數(shù)據(jù),必須至少給出兩條信息:想選擇什么、從什么地方選擇
    2023-02-02
  • canal實(shí)現(xiàn)mysql數(shù)據(jù)同步的詳細(xì)過程

    canal實(shí)現(xiàn)mysql數(shù)據(jù)同步的詳細(xì)過程

    這篇文章主要介紹了canal實(shí)現(xiàn)mysql數(shù)據(jù)同步的詳細(xì)過程,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-06-06
  • mysql屬于關(guān)系型數(shù)據(jù)庫嗎

    mysql屬于關(guān)系型數(shù)據(jù)庫嗎

    在本篇文章里小編給大家分享的是一篇關(guān)于mysql是否屬于關(guān)系型數(shù)據(jù)庫的相關(guān)文章,有興趣的朋友們可以參考下。
    2020-06-06
  • Ubuntu18.04 安裝mysql8.0.11的圖文教程

    Ubuntu18.04 安裝mysql8.0.11的圖文教程

    本文通過圖文并茂的形式給大家介紹了Ubuntu18.04 安裝mysql8.0.11的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的的朋友參考下吧
    2018-07-07
  • 一個(gè)mysql死鎖場(chǎng)景實(shí)例分析

    一個(gè)mysql死鎖場(chǎng)景實(shí)例分析

    這篇文章主要給大家實(shí)例分析了一個(gè)mysql死鎖場(chǎng)景的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • SQL表的時(shí)間類內(nèi)置函數(shù)舉例詳解

    SQL表的時(shí)間類內(nèi)置函數(shù)舉例詳解

    在SQL中處理日期和時(shí)間時(shí),了解常用的時(shí)間函數(shù)至關(guān)重要,這篇文章主要介紹了SQL表時(shí)間類內(nèi)置函數(shù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • Mysql中使用sql語句生成雪花算法Id實(shí)例

    Mysql中使用sql語句生成雪花算法Id實(shí)例

    雪花算法在分布式系統(tǒng)中生成全局唯一ID,本文詳細(xì)介紹了其工作機(jī)制,并在SQL中應(yīng)用生成雪花ID的方法,以實(shí)現(xiàn)數(shù)據(jù)表之間的遷移和補(bǔ)充,確保ID的唯一性和有序性
    2026-05-05
  • 圖文詳解Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決

    圖文詳解Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決

    最近工作中遇到一個(gè)非常奇怪的問題,mysql中有兩張表,test_info和test_do_info需要進(jìn)行LEFT?JOIN關(guān)聯(lián)查詢,下面這篇文章主要給大家介紹了關(guān)于Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決方法
    2023-04-04
  • Windows實(shí)現(xiàn)通過cmd命令行啟動(dòng)mysql

    Windows實(shí)現(xiàn)通過cmd命令行啟動(dòng)mysql

    介紹了通過Windows命令行啟動(dòng)MySQL的詳細(xì)步驟,包括普通啟動(dòng)和使用管理員權(quán)限的方法,以及如何登錄和查詢數(shù)據(jù),主要步驟包括修改環(huán)境變量、使用net start命令、確保以管理員身份運(yùn)行CMD,以及使用MySQL命令行工具進(jìn)行數(shù)據(jù)庫操作
    2024-10-10
  • MySQL中閃回功能的方案討論及實(shí)現(xiàn)

    MySQL中閃回功能的方案討論及實(shí)現(xiàn)

    Oracle有一個(gè)閃回(flashback)功能,能夠用戶恢復(fù)誤操作的數(shù)據(jù),這篇文章主要來和大家討論一下MySQL中支持閃回功能的方案,有需要的可以了解下
    2025-03-03

最新評(píng)論

屏南县| 东乌| 高密市| 晋江市| 武定县| 临泉县| 云霄县| 临邑县| 自治县| 墨江| 吕梁市| 云和县| 太湖县| 武陟县| 广昌县| 顺昌县| 江源县| 前郭尔| 镇雄县| 龙南县| 丰镇市| 琼中| 兴安县| 德清县| 水城县| 胶州市| 新疆| 清水河县| 呼和浩特市| 平塘县| 宜宾市| 忻州市| 舞钢市| 江西省| 杂多县| 临沧市| 图们市| 仁寿县| 祥云县| 保德县| 泗水县|