Docker搭建MySQL并掛載數(shù)據(jù)的全過程
記錄 Docker 搭建 MySQL 并掛載數(shù)據(jù)過程,搭建過程參考自 Docker Hub 。
一、Docker搭建MySQL并掛載數(shù)據(jù)
1、首先安裝好 Docker,不知道怎么安裝的可以看下 CentOS7安裝Docker初體驗 。
2、下載 MySQL5.7 鏡像。
docker pull mysql:5.7
3、創(chuàng)建容器并掛載數(shù)據(jù)。
docker run -d --restart=always --name mysql \ -v /itwxe/dockerData/mysql/data:/var/lib/mysql \ -v /itwxe/dockerData/mysql/conf:/etc/mysql \ -v /itwxe/dockerData/mysql/log:/var/log/mysql \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_general_ci
參數(shù)說明:
-v /itwxe/dockerData/mysql/data:/var/lib/mysql:將數(shù)據(jù)文件夾掛載到主機 -v /itwxe/dockerData/mysql/conf:/etc/mysql:將配置文件夾掛在到主機,可以在宿主機放一份自定義 my.cnf文件,那么容器就會按自定義配置啟動 -v /itwxe/dockerData/mysql/log:/var/log/mysql:將日志文件夾掛載到主機 -p 3306:3306:將容器的3306端口映射到主機的3306端口 -e MYSQL_ROOT_PASSWORD=123456:初始化123456用戶的密碼 --character-set-server=utf8mb4:設(shè)置字符集 --collation-server=utf8mb4_general_ci:排序方式
4、進入 MySQL 容器內(nèi)部。
docker exec -it mysql /bin/bash
5、登錄 MySQL。
mysql -uroot -p123456
6、查看字符集是否生效。
show variables like 'character_set_%';
二、掛載是否生效
1、上傳備份 sql 到宿主機,復(fù)制宿主機備份 sql 到容器。
docker cp /itwxe/dockerData/sunny.sql mysql:/
2、進入 mysql 容器內(nèi)部,導(dǎo)入sql。
docker exec -it mysql /bin/bash mysql -uroot -p123456 create database sunny; use sunny; source /sunny.sql;
3、數(shù)據(jù)導(dǎo)入成功可以查詢后,刪除容器,并重新用命令創(chuàng)建容器,查看數(shù)據(jù)存在。
docker stop mysql && docker rm mysql
使用上面的命令重新創(chuàng)建容器,查看數(shù)據(jù)是否正常,可以看到數(shù)據(jù)正常掛載查詢,此處演示的數(shù)據(jù)正常掛載保存宿主機。
其他
1.可以啟動多個MySQL服務(wù),因為我們啟動的是容器,容器可以有多個,只要容器名字映射段端口不一樣就可以了,例如:
$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql
2.查看所有容器(啟動狀態(tài)或者關(guān)閉狀態(tài))
$ sudo docker ps -a
3.啟動和關(guān)閉容器
啟動命令:
$ sudo docker start pwc-mysql //通過指定容器名字 $ sudo docker start 73f8811f669e //通過指定容器ID
關(guān)閉命令:
$ sudo docker stop pwc-mysql //通過指定容器名字 $ sudo docker stop 73f8811f669e //通過指定容器ID
總結(jié)
到此這篇關(guān)于Docker搭建MySQL并掛載數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Docker搭建MySQL掛載數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql逗號分隔的一行數(shù)據(jù)轉(zhuǎn)為多行數(shù)據(jù)的兩種方法
本文主要介紹了兩種將MySQL中逗號分隔的一行數(shù)據(jù)轉(zhuǎn)換為多行數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11sql腳本函數(shù)編寫postgresql數(shù)據(jù)庫實現(xiàn)解析
這篇文章主要介紹了sql腳本函數(shù)編寫postgresql數(shù)據(jù)庫實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09MySQL設(shè)置global變量和session變量的兩種方法詳解
這篇文章主要介紹了MySQL設(shè)置global變量和session變量的兩種方法,每種方法給大家介紹的非常詳細 ,需要的朋友可以參考下2018-10-10MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用
這篇文章介紹了MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12