人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Docker容器中Mysql數(shù)據(jù)的導(dǎo)入/導(dǎo)出詳解

發(fā)布日期:2022-03-29 10:19 | 文章來(lái)源:gibhub

Mysql數(shù)據(jù)的導(dǎo)入導(dǎo)出我們都知道一個(gè)mysqldump命令就能夠解決,但如果是運(yùn)行在docker環(huán)境下的mysql呢?

解決辦法其實(shí)還是用mysqldump命令,但是我們需要進(jìn)入docker的mysql容器內(nèi)去執(zhí)行它,并且通過(guò)配置volumes讓導(dǎo)出的數(shù)據(jù)文件可以拷貝到宿主機(jī)的磁盤(pán)上

所以操作步驟就可以分為:

  • 配置docker的volumes
  • 進(jìn)入docker的mysql容器,導(dǎo)出數(shù)據(jù)文件

至于數(shù)據(jù)導(dǎo)入,太過(guò)簡(jiǎn)單,就不說(shuō)了

先來(lái)看看mysqldump命令常見(jiàn)選項(xiàng):

  • --all-databases, -A: 備份所有數(shù)據(jù)庫(kù)
  • --databases, -B: 用于備份多個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有該選項(xiàng),mysqldump把第一個(gè)名字參數(shù)作為數(shù)據(jù)庫(kù)名,后面的作為表名。使用該選項(xiàng),mysqldum把每個(gè)名字都當(dāng)作為數(shù)據(jù)庫(kù)名。
  • --force, -f:即使發(fā)現(xiàn)sql錯(cuò)誤,仍然繼續(xù)備份
  • --host=host_name, -h host_name:備份主機(jī)名,默認(rèn)為localhost
  • --no-data, -d:只導(dǎo)出表結(jié)構(gòu)
  • --password[=password], -p[password]:密碼
  • --port=port_num, -P port_num:制定TCP/IP連接時(shí)的端口號(hào)
  • --quick, -q:快速導(dǎo)出
  • --tables:覆蓋 --databases or -B選項(xiàng),后面所跟參數(shù)被視作表名
  • --user=user_name, -u user_name:用戶名
  • --xml, -X:導(dǎo)出為xml文件

配置volumes

首先我是利用docker-compose進(jìn)行docker容器的編排,完整的配置代碼請(qǐng)看這個(gè)項(xiàng)目: liumapp/rabbitmq-mysql-redis-in-docker

請(qǐng)注意這個(gè)項(xiàng)目的docker-compose.yml配置文件中,有以下幾行:

 mysql:
 container_name: mysql
 image: mysql:5.5.60
 restart: always
 volumes:
  - ./mysql/data:/var/lib/mysql
  - ./mysql/conf/mysqld.conf:/etc/mysql/mysql.conf.d/mysqld.cnf

我對(duì)mysql容器配置的volumes,是把項(xiàng)目的mysql/data目錄和docker容器內(nèi)的/var/lib/mysql建立映射關(guān)系

所以下面我進(jìn)入docker的mysql容器內(nèi)執(zhí)行導(dǎo)出命令的時(shí)候,只需要把數(shù)據(jù)導(dǎo)出在/var/lib/mysql/目錄下,就可以在宿主機(jī)的./mysql/data/目錄下找到對(duì)應(yīng)的數(shù)據(jù)文件

進(jìn)入容器導(dǎo)出數(shù)據(jù)

首先執(zhí)行

docker ps

找到mysql容器的name

然后執(zhí)行

docker exec -it mysql /bin/bash

進(jìn)入容器

執(zhí)行命令

whereis mysql

找到mysql的運(yùn)行路徑,我這里是:/usr/local/mysql/bin,用cd進(jìn)入

cd /usr/local/mysql/bin

請(qǐng)注意,這里的路徑是指docker容器內(nèi)的路徑,跟您的宿主機(jī)路徑?jīng)]有關(guān)系

執(zhí)行導(dǎo)出命令

mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 保存文件.sql

輸入密碼后基本導(dǎo)出成功,請(qǐng)注意,保存文件的路徑要設(shè)置在volumes下面,即/var/lib/mysql/下

隨后輸入

exit

退出容器內(nèi)部,回到宿主機(jī)上,我們就能夠找到導(dǎo)出的數(shù)據(jù)文件了

如果您要導(dǎo)出csv格式的話,將mysqldump的那句命令改為:

mysql -u 用戶名 --password=密碼 --database=數(shù)據(jù)庫(kù)名 --execute='SELECT `FIELD`, `FIELD` FROM `TABLE` LIMIT 0, 10000 ' -X > 保存文件.sql

即可

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)本站的支持。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢(xún)顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部