當前位置:首頁 » 存儲配置 » mysql文件存儲docker

mysql文件存儲docker

發布時間: 2022-12-23 05:03:38

『壹』 docker mysql 容器 資料庫文件怎麼嫻宿主機器上

1. 首先創建一個目錄並在目錄下創建一個Dockerfile,文件內容如下

[plain] view plain print?
FROM centos:centos6
MAINTAINER Fanbin Kong "[email protected]"

RUN yum install -y mysql-server mysql

RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\
mysql -u root -pletmein -e "show databases;"

EXPOSE 3306

CMD ["/usr/bin/mysqld_safe"]

『貳』 【docker】 數據存儲:redis、mysql、mongo、elasticsearch



 使用5.6版本,容器內數據文件所在位置:/var/lib/mysql

『叄』 windows裝的docker;mysql保存操作問題

可以通過docker ps -a 查看剛結束的mysql容器;直接開啟容器:docker start 容器id。
還可以用數據卷保存mysql容器操作的數據。

『肆』 docker mysql 容器 資料庫文件怎麼嫻宿主機器上

docker跟宿主機交互的是通過原生網路實現的。

當Docker進程啟動之後,它會配置一個虛擬的網橋叫docker0在宿主機上。這個介面允許Docker去分配虛擬的子網給即將啟動的容器們。這個網橋在容器內的網路和宿主機網路之間將作為介面的主節點。

Docker容器啟動後,將創建一個新的虛擬介面並分配一個網橋子網內的IP地址。這個IP地址嵌在容器內網路中,用於提供容器網路到宿主機docker0網橋上的一個通道。Docker自動配置iptables規則來放行並配置NAT,連通宿主機上的docker0,就可以訪問宿主機的mysql數據文件了。

『伍』 docker mysql 容器 資料庫文件怎麼嫻宿主機器上

原因是文件夾沒許可權,同時把宿主和容器中相應的文件夾設置為歸屬mysql用戶,但結果是只有一個文件夾歸屬mysql用戶,再次把不是歸屬mysql的文件夾設置為歸屬mysql用戶後,另一個文件夾又變成不歸屬mysql用戶,這是什麼原因?如下所示: 宿主: chmod +w /data/volumes-mysql chown -R mysql:mysql /data/volumes-mysql chcon -R -t mysqld_db_t /data/volumes-mysql 容器: chmod +w /home/databases/mysql/data chown -R mysql:mysql /home/databases/mysql/data chcon -R -t mysqld_db_t /home/databases/mysql/data cd /data/volumes-mysql ls -al drwxr-xr-x. 2 27 27 4096 12月 3 20:09 . drwxr-xr-x. 6 root root 4096 12月 3 19:54 .. -rw-rw----. 1 27 27 18874368 12月 3 20:09 ibdata1 -rw-rw----. 1 27 27 5242880 12月 3 20:09 ib_logfile0 -rw-rw----. 1 27 27 5242880 12月 3 20:09 ib_logfile1 cd /home/databases/mysql/data ls -al drwxr-xr-x. 2 mysql mysql 4096 Dec 3 12:09 . drwxr-xr-x. 3 root root 4096 Dec 3 12:02 .. -rw-rw----. 1 mysql mysql 5242880 Dec 3 12:09 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 Dec 3 12:09 ib_logfile1 -rw-rw----. 1 mysql mysql 18874368 Dec 3 12:09 ibdata1

『陸』 怎麼linux本地mysql放到docker中

  1. 如果對MySQL比較熟悉,那麼可以使用MySQL異機遷移的方法:

    1. 先確定MySQL的運行系統、發行版、版本號,以前的配置文件。

    2. 根據以上信息在Docker環境下新建一台全新的MySQL。

    3. 根據業務需要實施停機遷移/在線遷移,將數據遷入Docker內的MySQL。

      1. 停機遷移:直接拷貝數據文件(物理遷移)、全量Dump導出(邏輯備份遷移)、xtraback備份(物理備份遷移)

      2. 在線遷移:將新庫作為從庫加入集群,完成同步後fo切換,原主庫下線。

  2. 如果對Docker比較熟悉,可以使用Docker整機遷移的方法:

    1. 整機虛擬化直接作為一個鏡像在Docker內運行。

    2. 這種方法雖然簡單,但過程漫長而且運行時性能損耗非常大,也容易出問題,不是很推薦。

『柒』 MySQL 到底能不能放到 Docker 里跑

MySQL 到底能不能放到 Docker 里跑
當我們的mysql 容器啟動後,想要登陸mysql 的資料庫怎麼辦。以下介紹幾種方法, 其他容器的登陸也可以仿效。 第一: 啟動容器後用link 鏈接, 官方的mysql 容器有以下幾個環境變數。 docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-se.

『捌』 docker mysql數據會保存下來嗎

默認會保留下來,位置一般都在/var/lib/docker目錄裡面,就是docker鏡像跑的地方,但是一旦重啟或者容器,或者容器掛掉了,你的數據就沒了。
所以,一般我們要用docker容器跑資料庫的話,都是要用持久化存儲的,比如掛載的目錄單獨存在一個地方,或者三方nfs存儲裡面。

『玖』 linux伺服器端有一個mysql,如何部署到docker容器里

步驟1:為我們的容器創建第一個鏡像
# 以 centos 鏡像作為基礎鏡像,我們啟動自己的容器並在其中執行/bin/bash命令
# 註:-t -i 參數用於創建一個虛擬的命令行。
sudo docker run -t -i centos /bin/bash
現在我們已經成功的運行了自己的第一個容器,並且進入到容器的命令行界面中。在容器中,我們執行下面的命令:

yum -y update # 更新軟體包
yum install which # 安裝which命令
yum install git # 安裝Git

安裝完成後,按 Ctrl + d 來退出容器的命令行。
# 執行sudo docker ps -a,可以看到被我們終止的容器
CONTAINER ID IMAGE COMMAND CREATED……
da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..
把我們所做的改變提交到一個新的容器:
# 這里我們創建一個自己的基礎容器,容器中安裝好了文章中所需的常用工具。讀者的容器 id 可能與文章中的有所不同,以上一步 docker ps -a 的結果為准。
sudo docker commit da90 custom/base
容器成功提交後,執行 sudo docker images ,我們會看到剛才提交的容器(如下面的結果所示)。我們就以這個容器為基礎容器,再來創建一個新的容器。
REPOSITORY TAG IMAGE ID CREATED
custom/base latest 05b6cecd370b 2 minutes ago
centos 6.4 539c0211cd76 10 months ago
centos latest 539c0211cd76 10 months ago…
步驟2:創建新的容器,並安裝 apache
# 以 custom/base 容器為基礎,運行一個新的容器。

sudo docker run -t -i custom/base /bin/bash

# 安裝 httpd

yum install httpd

步驟3:再次提交新的容器
按 Ctrl + d 來退出容器的命令行,然後執行命令:
# 這個命令會把步驟2中我們安裝 httpd 帶來的改變提交到新的名為 custom/httpd 的容器鏡像中。你的容器 id 可能會和文章中有所不同,以 sudo docker ps -a 命令的結果為准。

sudo docker commit aa6e2fc0b94c custom/httpd

你應該已經發現了,我們創建了一個帶有 http 伺服器並可以復用的容器鏡像。你可以根據這種思想,為自己所需的每個組件都創建一個容器,然後把這些容器復用於開發環境或者生產環境。
步驟7:運行 http 伺服器
# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.
# -v 參數把主機共享給虛擬機的一個卷掛載到容器中
# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile
# -p 參數把虛擬機的80埠映射到容器的80埠;虛擬機的80埠在 Vagrantfile 中被綁定到主機的8080埠,也就是:主機8080->虛擬機80->容器80
sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash
# 啟動 Apache
apachectl -k start

『拾』 在Docker中安裝MySQL5.7

docker pull mysql:5.7

將全部的配置文件和關聯的文件夾統一放到 /opt/docker/mysql 中

創建 MySQL 配置文件文件夾
mkdir -p /opt/docker/mysql/conf.d

增加並修改配置文件 config-file.cnf
vim /opt/docker/mysql/conf.d/config-file.cnf

輸入如下內容:

創建 MySQL 數據文件夾
mkdir -p /opt/docker/mysql/var/lib/mysql

啟動,設置默認密碼 root ,TZ 設置容器的默認時區

Windows使用這條:

進入容器
docker exec -it mysql bash

進入 MySQL
mysql -uroot -p
輸入剛才我們設置的密碼 root

授權
mysql> GRANT ALL ON *.* TO 'root'@'%';

刷新許可權
mysql> flush privileges;

更新加密規則
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

更新 root 密碼
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';

刷新許可權
mysql> flush privileges;

退出容器
exit

啟動容器
docker start mysql

停止容器
docker stop mysql

重啟容器
docker restart mysql

進入容器
docker exec -it mysql bash

刪除容器
docker rm mysql

查看日誌
docker logs -f mysql

備份數據
docker exec mysql sh -c 'exec mysqlmp --all-databases -uroot -p 密碼' > /usr/local/all-databases.sql

恢復數據
docker exec -i mysql sh -c 'exec mysql -uroot -p 密碼' < /usr/local/all-databases.sql

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:600
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:892
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:585
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:769
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:689
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1016
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:261
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:119
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:809
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:718