docker一鍵部署MySQL的實(shí)現(xiàn)示例
1. 前期準(zhǔn)備
新部署前可以從倉(cāng)庫(kù)(repository)下載 MySQL 鏡像,或者從已有部署中的鏡像生成文件:
# 查看當(dāng)前本地鏡像 docker images # 生成本地鏡像文件 docker save <IMAGE ID> -o mysql_8023.tar
2. 導(dǎo)入鏡像
# 在新部署的機(jī)器上導(dǎo)入鏡像 docker load -i mysql_8023.tar docker images
3. 創(chuàng)建部署腳本文件
mysql-deploy.sh 文件內(nèi)容如下:
#!/bin/bash # 生成目錄 mkdir -p /usr/local/docker/mysql/mysql-files mkdir -p /usr/local/docker/mysql/conf mkdir -p /usr/local/docker/mysql/logs mkdir -p /usr/local/docker/mysql/data # 將配置文件復(fù)制到相應(yīng)目錄 cp /root/my.cnf.template /usr/local/docker/mysql/conf/my.cnf # 修改屬主 chown -R polkitd:root /usr/local/docker/mysql/ # 創(chuàng)建容器 docker run -p 3306:3306 \ ? ? -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ ? ? -v /usr/local/docker/mysql/conf:/etc/mysql \ ? ? -v /usr/local/docker/mysql/logs:/var/log/mysql \ ? ? -v /usr/local/docker/mysql/data:/var/lib/mysql \ ? ? -e MYSQL_ROOT_PASSWORD=root \ ? ? --name mysql \ ? ? --restart=always \ ? ? -e TZ=Asia/Shanghai \ ? ? -d cbe8815cbea8
4. MySQL 服務(wù)器配置文件模板
my.cnf.template 文件內(nèi)容如下:
[mysqld] max_allowed_packet = 1G explicit_defaults_for_timestamp=0 lower_case_table_names=1 log_timestamps=SYSTEM sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' binlog_expire_logs_seconds=259200 secure_file_priv='' log_bin_trust_function_creators=on character-set-server = utf8mb4 default_authentication_plugin=mysql_native_password datadir=/var/lib/mysql/ socket=/var/run/mysqld/mysqld.sock wait_timeout=30 innodb_buffer_pool_size = 4G max_connections = 1000 default-time-zone = '+8:00' port = 3306 skip-name-resolve innodb_print_all_deadlocks=1 log_output='table' server-id = 2955 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 gtid-mode = off local_infile=0 log_error='/var/lib/mysql/master.err' skip_symbolic_links=yes [mysqldump] quick max_allowed_packet = 1G [mysqld_safe] open-files-limit = 8192
5. 執(zhí)行腳本創(chuàng)建容器
./mysql-deploy.sh
6. 后續(xù)工作
# 進(jìn)入容器 docker exec -it mysql /bin/bash # 登錄 MySQL mysql -uroot -proot -S /var/lib/mysql/mysqld.sock # 創(chuàng)建用戶 create user dba identified by '123456'; grant all on *.* to dba with grant option;
7. 基本維護(hù)
# 查看鏡像 docker images # 查看容器 docker ps # 查看容器詳細(xì)信息 docker inspect <CONTAINER ID> # 重啟容器 docker restart mysql # 停止容器 docker stop mysql # 刪除容器 docker rm mysql
到此這篇關(guān)于docker一鍵部署MySQL的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)docker部署MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker中部署mysql服務(wù)的方法及遇到的坑
- docker部署mysql后無(wú)法連接的解決方式
- 詳解使用Docker部署MySQL(數(shù)據(jù)持久化)
- docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼
- Docker部署Mysql8的實(shí)現(xiàn)步驟
- 使用Docker部署MySQL 5.7&8.0主從集群的方法步驟
- Docker 部署 Mysql8.0的方法示例
- Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實(shí)現(xiàn)
- docker部署MySQL時(shí)無(wú)法啟動(dòng)問(wèn)題的解決方法
- docker部署mysql8并設(shè)置可遠(yuǎn)程連接
- 使用docker-compose部署mysql的完整步驟
相關(guān)文章
Docker快速部署國(guó)產(chǎn)達(dá)夢(mèng)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例
本文主要介紹了Docker快速部署國(guó)產(chǎn)達(dá)夢(mèng)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
使用minikube安裝使用單機(jī)版K8S方式(docker)
本文介紹了如何在centos7上使用minikube快速搭建單機(jī)版k8s,主要步驟包括:下載kubectl和docker,創(chuàng)建新用戶,下載和安裝minikube,驗(yàn)證安裝情況,最后,通過(guò)執(zhí)行minikube和minikubestop啟停K8s,或使用minikubedelete徹底刪除K8S的數(shù)據(jù)2024-10-10
Docker方式部署OceanBase數(shù)據(jù)庫(kù)的完整步驟
OceanBase數(shù)據(jù)庫(kù)是一個(gè)高性能的分布式關(guān)系型數(shù)據(jù)庫(kù),它支持多種部署方式,包括但不限于單機(jī)部署、集群部署等,這篇文章主要介紹了Docker方式部署OceanBase數(shù)據(jù)庫(kù)的完整步驟,需要的朋友可以參考下2025-04-04
Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)、可移植的容器中,實(shí)現(xiàn)快速部署和運(yùn)行,本文給大家詳細(xì)介紹了Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南,需要的朋友可以參考下2025-07-07
docker容器中cron任務(wù)未執(zhí)行的原因分析及解決
在Ubuntu?22.04鏡像中cron任務(wù)執(zhí)行失敗,可能與pam權(quán)限或文件權(quán)限設(shè)置有關(guān),解決方法包括動(dòng)態(tài)加載任務(wù)至crontab及將文件權(quán)限設(shè)為600(容器默認(rèn)umask=0022),后者因權(quán)限沖突導(dǎo)致執(zhí)行失敗,推薦此方案2025-08-08
關(guān)于docker?compose安裝redis集群的問(wèn)題(集群擴(kuò)容、集群收縮)
這篇文章主要介紹了docker?compose安裝redis集群、集群擴(kuò)容、集群收縮,主要包括redis配置信息模板,編寫批量生成配置文件腳本的相關(guān)命令,需要的朋友參考下吧2022-03-03

