docker一鍵部署MySQL的實現(xiàn)示例
更新時間:2023年08月01日 08:31:11 作者:wzy0623
本文主要介紹了docker一鍵部署MySQL的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
1. 前期準備
新部署前可以從倉庫(repository)下載 MySQL 鏡像,或者從已有部署中的鏡像生成文件:
# 查看當前本地鏡像 docker images # 生成本地鏡像文件 docker save <IMAGE ID> -o mysql_8023.tar
2. 導入鏡像
# 在新部署的機器上導入鏡像 docker load -i mysql_8023.tar docker images
3. 創(chuàng)建部署腳本文件
mysql-deploy.sh 文件內容如下:
#!/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 # 將配置文件復制到相應目錄 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 服務器配置文件模板
my.cnf.template 文件內容如下:
[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ù)工作
# 進入容器 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. 基本維護
# 查看鏡像 docker images # 查看容器 docker ps # 查看容器詳細信息 docker inspect <CONTAINER ID> # 重啟容器 docker restart mysql # 停止容器 docker stop mysql # 刪除容器 docker rm mysql
到此這篇關于docker一鍵部署MySQL的實現(xiàn)示例的文章就介紹到這了,更多相關docker部署MySQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Docker中部署mysql服務的方法及遇到的坑
- docker部署mysql后無法連接的解決方式
- 詳解使用Docker部署MySQL(數(shù)據(jù)持久化)
- docker部署mysql 實現(xiàn)遠程連接的示例代碼
- Docker部署Mysql8的實現(xiàn)步驟
- 使用Docker部署MySQL 5.7&8.0主從集群的方法步驟
- Docker 部署 Mysql8.0的方法示例
- Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)
- docker部署MySQL時無法啟動問題的解決方法
- docker部署mysql8并設置可遠程連接
- 使用docker-compose部署mysql的完整步驟
相關文章
docker-compose網(wǎng)絡設置之networks的使用
本文詳細解釋了在使用 Docker Compose時如何配置網(wǎng)絡,包括創(chuàng)建、使用和問題解決等方面,介紹了如何通過docker-compose.yml文件快速編排和部署應用服務,同時解決網(wǎng)絡隔離問題,感興趣的可以了解一下2024-10-10
關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法
這篇文章主要介紹了關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

