mac通过docker一键部署MySQL8
mac通过docker一键部署MySQL8
一、前言
程序猿开发任务本来就比较繁锁,如果搭建各种开源的软件还需要搜索这样那样的配置,那基本上两鬓斑白的头发基本上都快脱光了,如何找女朋友呢?难道一直和五姑娘为伴?所以自己当第一个吃螃蟹的人摸索了一些套路,编写一些简易的 shell 脚本帮我们快速的搭建服务器,猿们只要按着套路“一步一步”的操作,基本上都可以快速部署服务,也有《MySQL8自动安装脚本》,大家根据自己的实际情况进行操作。
二、系统配置
mac os:Monterey
mac version:12.4 (21F79)
mac type: MacBook Air (M1, 2020), Apple M1
docker desktop version:v4.10.0
docker version:v20.10.17
docker-compose version: v1.29.2
三、安装步骤
Dockerhub查看镜像地址
# 如果你比较懒可以使用最后的“MySQL8自动安装脚本”,mac电脑通用
https://hub.docker.com/_/mysql/tags
1、一键安装
1.1、克隆脚本
git clone git@gitee.com:xiaoyaojiugui/technical.git
1.2、安装程序
# 1.跳转到下载脚本的根目录,执行命令:
cd /technical/docker/foundations/database/mysql
# 2.执行安装脚本,执行命令:
sh ./mysql.sh
# 3.选择待安装的 MySQL 序号
1.2.1、安装程序详情
---------------函数开始执行---------------
---------------环境变量初始化开始---------------
1.1、请选择要安装的 MySQL 版本,例如:MySQL8,输入“1”回车。
1、MySQL8 (Mac with Apple chip or Intel chip)
2、MySQL8 (Linux)
3、MySQL5
请输入序号:
1
1.2、你选择了安装:MySQL8 (Mac with Apple chip or Intel chip)
1.3、初始化 MySQL 环境变量
image_alias=mysql8
image_name=mysql/mysql-server:latest
mysql_port=33306
os_path=/Users/jason.zhuo/data/docker/volumes/mysql8
---------------环境变量初始化完毕---------------
1.1、执行创建容器操作,跳过此步骤,镜像已存在[mysql/mysql-server:latest]
1.2、执行创建容器操作,创建目录并授权,执行命令:sudo mkdir -p -v /Users/jason.zhuo/data/docker/volumes/mysql8/{data,logs,conf} && sudo chown -R jason.zhuo /Users/jason.zhuo/data/docker/volumes/mysql8
1.3、执行创建容器操作,创建文件my.cnf并将配置写到文件中[/Users/jason.zhuo/data/docker/volumes/mysql8/conf/my.cnf]
1.4、执行创建容器操作,执行命令:docker run -d -p 33306:3306 -d --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=root123456 -v /Users/jason.zhuo/data/docker/volumes/mysql8/conf/:/etc/mysql/conf.d/ -v /Users/jason.zhuo/data/docker/volumes/mysql8/data:/var/lib/mysql -v /Users/jason.zhuo/data/docker/volumes/mysql8/logs:/var/log/mysql --name mysql8 mysql/mysql-server:latest
1.5.1、查看容器状态,执行命令:docker inspect --format='{{.State.Status}}' mysql8
1.5.2、查看容器状态,[running]
1.5.3、查看容器详情,执行命令:docker ps | grep mysql/mysql-server:latest
2.1、其他待执行命令,登录容器其命令为:docker exec -it mysql8 mysql -uroot -proot
---------------函数执行完毕---------------
1.3、初始化用户
- 初始化用户(admin)默认密码(admin123456);
- 请在脚本中(create-user.sh),自行更改密码;
# 1.跳转到下载脚本的根目录,执行命令:
cd /technical/docker/foundations/database/mysql
# 2.执行安装脚本,执行命令:
sh ./create-user.sh
# 3.选择待安装的 MySQL 序号
1.3.1、安装程序详情
---------------函数开始执行---------------
---------------环境变量初始化开始---------------
1.1、请选择要安装的 MySQL 版本,例如:MySQL8,输入“1” 回车。
1、MySQL8 (Mac with Apple chip or Intel chip)
2、MySQL8 (Linux)
3、MySQL5 (通用)
请输入序号:
1
1.2、你选择了安装:MySQL8 (Mac with Apple chip or Intel chip)
1.3、初始化 MySQL 环境变量
image_alias=mysql8
image_name=mysql/mysql-server:latest
mysql_port=33306
os_path=/Users/jason.zhuo/data/docker/volumes/mysql8
---------------环境变量初始化完毕---------------
1、创建数据库用户(admin)并授权,执行命令:docker exec -it mysql8 mysql -uroot -proot123456
spawn docker exec -it mysql8 mysql -uroot -proot123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.27 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> create user 'admin'@'localhost' identified by 'admin123456';
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to 'admin'@'localhost';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> create user 'admin'@'%' identified by 'admin123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'admin'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | admin | caching_sha2_password |
| localhost | admin | caching_sha2_password |
| localhost | healthchecker | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | caching_sha2_password |
+-----------+------------------+-----------------------+
7 rows in set (0.00 sec)
mysql> exit
Bye
2、成功创建数据库用户:admin
---------------函数执行完毕---------------
1.4、测试数据库是否连接成功

四、总结
自动化脚本安装完成后,本地的 MySQL8 基本上就可以随便玩,文章如有不对之处请留言,会及时修正,谢谢阅读!!
五、后记
所有文章均为本人原创,本人写作的目的就是想帮助对技术有需要的人,所以欢迎同行转载本站文章,但是,希望您注明来源,并留下原文链接地址,这是对文章作者的尊重,也是对知识的尊重。
mac通过docker一键部署MySQL8的更多相关文章
- mac通过docker一键部署Jenkins
目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...
- mac通过docker一键部署Nexus3
目录 mac通过docker一键部署Nexus3 一.前言 二.系统配置 三.安装步骤 1.Dockerhub查看镜像地址 2.一键安装 2.1.克隆脚本 2.2.安装程序 2.2.1.程序安装详情 ...
- Mac通过docker一键部署airflow
目录 Airflow部署及使用 1.Dockerhub查看镜像地址 2.拉取docker镜像 3.在宿主机创建外挂文件夹 4.创建docker容器 5.重新创建docker容器 5.1.查看airfl ...
- Docker一键部署Hadoop心得(一)
最近一直在折腾使用docker一键部署全分布式hadoop集群,虽然一键部署的脚本写好了并且可以成功运行出各个节点,但在运行一个wordcount实例时出现了错误,错误如下: java.io.IOEx ...
- 使用Docker 一键部署 LNMP+Redis 环境
使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...
- 基于Docker一键部署大规模Hadoop集群及设计思路
一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...
- RabbitMQ集群 Docker一键部署
以下内容来自网络转载 步骤1. 安装docker 以centos7为例,https://docs.docker.com/engine/installation/linux/centos/ 步骤2. 创 ...
- Docker一键部署Hadoop心得(二)
今天在运行MapReduce程序时,虽然wordcount实例运行成功了,但后面出现了重新使用历史服务器失败的错误 17/12/22 13:33:19 INFO ipc.Client: Retryin ...
- docker一键部署zookeeper
version: '3.1' services: zoo1: image: zookeeper:3.4.11 restart: always hostname: zoo1 container_name ...
随机推荐
- Javaweb-JSP详解
一.什么是JSP Java Server Pages:Java服务器端页面,和Servlet一样,用于动态web技术 最大的特点: 写JSP就像在写HTML 区别: HTML只给用户提供静态的数据 J ...
- 《HelloGitHub》第 76 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- python3.7爬虫:使用Selenium带Cookie登录并且模拟进行表单上传文件
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_142 前文再续,书接上一回,之前一篇文章我们尝试用百度api智能识别在线验证码进行模拟登录:Python3.7爬虫:实时api(百 ...
- Linux系列之重定向操作
前言 I/O重定向允许我们将命令的输入和输出重定向到文件中,以及将多个命令连接到一起成为管道.本文就来介绍有关重定向的知识. 标准输入.输出.错误 输出包括两种类型: 程序的结果.被称为标准输出或者s ...
- [原创] RestartPC64-中文版v1.0.0.9
原来发布的RestartPC-中文版和英文版v1.0.0.5,在PE64下无效.所以重新编译了64位版的RestartPC64-中文版v1.0.0.9,可以在PE64下面.正常Win64系统下面重启关 ...
- 大数据工作流任务调度--有向无环图(DAG)之拓扑排序
点击上方蓝字关注DolphinScheduler(海豚调度) |作者:代立冬 |编辑:闫利帅 回顾基础知识: 图的遍历 图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点 ...
- SpringCloud之Sentinel
一. sentinel是什么? 1.概念: 分布式服务架构的流量治理组件. 2.sentinel有什么作用? 2.1 流控:QPS.线程数 2.2 熔断降级:降级-->熔断策略.时长.请求数等 ...
- 【NOI P模拟赛】(要素过多的标题)(容斥原理)
题面 0 题目背景 [ 数 据 删 除 ] _{^{[数\,据\,删\,除]}} [数据删除] 1 题目描述 在执行任务时,收集到了 n n n 份能源,其中第 i i i 份的能量值是 ...
- HTTP协议,会话跟踪,保存作用域,servlet类跳转
解决post的编码问题,防止中文乱码 request.setCharacterEncoding("utf-8"); HTTP协议: (1)由Request(请求)和Response ...
- 第七十二篇:Vue组件的props
好家伙, 1.组件的props props是组件的自定义属性,在封装通用组件的时候,合理的使用props可以极大的提高组件的复用性 来假设一下,如果我们需要两个组件分别显示不同的值 目录结构如下: H ...