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 ...
随机推荐
- GitHub 主页美化设置教程
GitHub profile设置教程 早些时候逛GitHub,就发现别人的主页特别的精美,当时没有空研究,前几天得空给安排了一下 先看一下成品 贴一个github上一个男人的主页 下面这个是我的 果然 ...
- 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 & 最具人气项目
经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...
- Spring源码 09 IOC refresh方法4
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- Spring 03 切面编程
简介 AOP(Aspect Oriented Programming),即面向切面编程 这是对面向对象思想的一种补充. 面向切面编程,就是在程序运行时,不改变程序源码的情况下,动态的增强方法的功能. ...
- java-循环的应用环境以及数组的创建
1.三种循环结构的更佳适用情况: 1)while:"当..."循环 2)do...while:"直到..."循环 要素1与要素3相同时首选do...while ...
- 虚拟机kali端口映射外网vps
前言:我们常用的kali系统一般都是在虚拟机里面运行,这样在真实环境中外网是访问不到你的kali攻击机的,这时候我们就需要给kali映射一个外网vps. 一.在vps启动frp 服务端 安装frp并解 ...
- CF Workers反向代理并修改请求
用于访问被墙的api请求 async function handleRequest(event) { const request = event.request const host = " ...
- KingbaseES 全文检索功能介绍
KingbaseES 内置的缺省的分词解析器采用空格分词,因为中文的词语之间没有空格分割,所以这种方法并不适用于中文.要支持中文的全文检索需要额外的中文分词插件:zhparser and sys_ji ...
- KingbaseES R6 集群一键修改集群和数据库参数测试案例
案例说明: 集群环境修改集群或数据库参数,需要在每个node上都要修改,在每个节点而执行修改操作,容易出现漏改或节点上参数不一致等错误:在KingbaseES V8R6的集群中增加了,一键修改参数 ...
- volatile 函数影响子查询提升
我们知道 volatile 函数会影响SQL的执行性能,比如:volatile 类型函数无法建函数索引.volatile 函数针对每条记录都要执行一次.本篇的例子主要讲述 volatile 类型的函数 ...