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 ...
随机推荐
- SQL注入 基础学习
SQL注入学习笔记 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有 ...
- 使用java随机生成有个性的用户名,LOL地名+水浒传,合计2808个有意思的用户名
* 随机生成用户名 * 取水浒传108好汉名字 * 取LOL地名26个,组合而成 * 一共可以生成2808个不同特色的用户名 如果你在上网的时候,用户名难取的话,这里有很多可选择的用户名,现提供100 ...
- SVN:取消对代码的修改
取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svnrevert就能取消之前的修改. svn revert用法如下: #svn revert[-R] s ...
- 使用 DolphinScheduler 调度 Kylin 构建
本文章经授权转载 Apache Kylin 上游通常有复杂的数据 ETL 过程,如 Hive 入库.数据清洗等:下游有报表刷新,邮件分发等.集成 Apache DolphinScheduler 后,K ...
- 百亿数据百亿花, 库若恒河沙复沙,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang数据库操作实践EP12
Golang可以通过Gorm包来操作数据库,所谓ORM,即Object Relational Mapping(数据关系映射),说白了就是通过模式化的语法来操作数据库的行对象或者表对象,对比相对灵活繁复 ...
- Excel 统计函数(四):AVERAGEIF 和 AVERAGEIFS
AVERAGEIF [语法]AVERAGEIF(range, criteria, [average_range]) [参数] range:要计算平均值的一个或多个单元格: criteria:筛选条件: ...
- Java Stream 函数式接口外部实例的引用
Java Function Interface 函数式接口: Stream.empty() .filter(Predicate) .map(Function) .forEach(Consumer); ...
- 认识Chrome扩展插件
1.前言 现如今的时代,绝大多数人都要跟浏览器打交道的,说到浏览器那肯定是Chrome浏览器一家独大,具体数据请看 知名流量监测机构 Statcounter 公布了 7 月份全球桌面浏览器市场份额,主 ...
- 二 代理模式【Proxy Pattern】 来自CBF4LIFE 的设计模式
什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理的人能干活呀. ...
- 使用.Net对图片进行裁剪、缩放、与加水印
图片的裁剪.缩放.与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便.(具体代码将在文末给出,支持.NET/.NET Framework/.NET Core) 现 ...