Docker搭建MySQL并掛載數(shù)據(jù)的全過(guò)程
記錄 Docker 搭建 MySQL 并掛載數(shù)據(jù)過(guò)程,搭建過(guò)程參考自 Docker Hub 。
一、Docker搭建MySQL并掛載數(shù)據(jù)
1、首先安裝好 Docker,不知道怎么安裝的可以看下 CentOS7安裝Docker初體驗(yàn) 。
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ù)說(shuō)明:
-v /itwxe/dockerData/mysql/data:/var/lib/mysql:將數(shù)據(jù)文件夾掛載到主機(jī) -v /itwxe/dockerData/mysql/conf:/etc/mysql:將配置文件夾掛在到主機(jī),可以在宿主機(jī)放一份自定義 my.cnf文件,那么容器就會(huì)按自定義配置啟動(dòng) -v /itwxe/dockerData/mysql/log:/var/log/mysql:將日志文件夾掛載到主機(jī) -p 3306:3306:將容器的3306端口映射到主機(jī)的3306端口 -e MYSQL_ROOT_PASSWORD=123456:初始化123456用戶(hù)的密碼 --character-set-server=utf8mb4:設(shè)置字符集 --collation-server=utf8mb4_general_ci:排序方式
4、進(jìn)入 MySQL 容器內(nèi)部。
docker exec -it mysql /bin/bash
5、登錄 MySQL。
mysql -uroot -p123456
6、查看字符集是否生效。
show variables like 'character_set_%';
二、掛載是否生效
1、上傳備份 sql 到宿主機(jī),復(fù)制宿主機(jī)備份 sql 到容器。
docker cp /itwxe/dockerData/sunny.sql mysql:/
2、進(jìn)入 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)入成功可以查詢(xún)后,刪除容器,并重新用命令創(chuàng)建容器,查看數(shù)據(jù)存在。
docker stop mysql && docker rm mysql
使用上面的命令重新創(chuàng)建容器,查看數(shù)據(jù)是否正常,可以看到數(shù)據(jù)正常掛載查詢(xún),此處演示的數(shù)據(jù)正常掛載保存宿主機(jī)。
其他
1.可以啟動(dòng)多個(gè)MySQL服務(wù),因?yàn)槲覀儐?dòng)的是容器,容器可以有多個(gè),只要容器名字映射段端口不一樣就可以了,例如:
$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql
2.查看所有容器(啟動(dòng)狀態(tài)或者關(guān)閉狀態(tài))
$ sudo docker ps -a
3.啟動(dòng)和關(guān)閉容器
啟動(dòng)命令:
$ sudo docker start pwc-mysql //通過(guò)指定容器名字 $ sudo docker start 73f8811f669e //通過(guò)指定容器ID
關(guān)閉命令:
$ sudo docker stop pwc-mysql //通過(guò)指定容器名字 $ sudo docker stop 73f8811f669e //通過(guò)指定容器ID
總結(jié)
到此這篇關(guān)于Docker搭建MySQL并掛載數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Docker搭建MySQL掛載數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解通過(guò)Docker搭建Mysql容器+Tomcat容器連接環(huán)境
- 詳解用Docker搭建外部可以訪(fǎng)問(wèn)的mysql
- 使用Docker容器搭建MySql主從復(fù)制
- docker 搭建Mysql集群的方法示例
- mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程
- Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑
- 使用Docker搭建MySQL數(shù)據(jù)庫(kù)服務(wù)的方法詳解
- 基于Docker的MySQL主從復(fù)制環(huán)境搭建的實(shí)現(xiàn)步驟
- Docker搭建MySQL的實(shí)現(xiàn)示例
相關(guān)文章
mysql逗號(hào)分隔的一行數(shù)據(jù)轉(zhuǎn)為多行數(shù)據(jù)的兩種方法
本文主要介紹了兩種將MySQL中逗號(hào)分隔的一行數(shù)據(jù)轉(zhuǎn)換為多行數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11sql腳本函數(shù)編寫(xiě)postgresql數(shù)據(jù)庫(kù)實(shí)現(xiàn)解析
這篇文章主要介紹了sql腳本函數(shù)編寫(xiě)postgresql數(shù)據(jù)庫(kù)實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09MySQL設(shè)置global變量和session變量的兩種方法詳解
這篇文章主要介紹了MySQL設(shè)置global變量和session變量的兩種方法,每種方法給大家介紹的非常詳細(xì) ,需要的朋友可以參考下2018-10-10MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用
這篇文章介紹了MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12MySQL分庫(kù)分表與分區(qū)的入門(mén)指南
這篇文章主要給大家介紹了關(guān)于MySQL分庫(kù)分表與分區(qū)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04使用SQL查詢(xún)所有數(shù)據(jù)庫(kù)名和表名問(wèn)題
這篇文章主要介紹了使用SQL查詢(xún)所有數(shù)據(jù)庫(kù)名和表名問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Mysql官方性能測(cè)試工具mysqlslap的使用簡(jiǎn)介
mysqlslap隨著MySQL安裝的時(shí)候就自動(dòng)安裝好了,而且 mysqlslap 把很多的自定義測(cè)試的功能封裝到了外部,使用者只需要在外部提供 SQL 語(yǔ)句的腳本就可以自定義測(cè)試語(yǔ)句,本文將簡(jiǎn)單介紹該工具的使用2021-05-05