首页 > 数据库 >mac通过docker一键部署MySQL8

mac通过docker一键部署MySQL8

时间:2022-10-08 11:00:20浏览次数:77  
标签:MySQL8 --------------- mysql8 mac mysql docker data

目录

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 [email protected]: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、测试数据库是否连接成功

image

四、总结

自动化脚本安装完成后,本地的 MySQL8 基本上就可以随便玩,文章如有不对之处请留言,会及时修正,谢谢阅读!!

五、后记

所有文章均为本人原创,本人写作的目的就是想帮助对技术有需要的人,所以欢迎同行转载本站文章,但是,希望您注明来源,并留下原文链接地址,这是对文章作者的尊重,也是对知识的尊重。

标签:MySQL8,---------------,mysql8,mac,mysql,docker,data
From: https://www.cnblogs.com/xiaoyaojiugui/p/16768298.html

相关文章

  • docker搭建yapi接口文档系统、Idea中上传接口、在线调用
    一、前言在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是swagger,不过这个侵入性太强了。还有就是接口文档的框架,比如今天小编带大家一起搭建的yapi,在公司......
  • Centos7_docker509错误
    CentOS7Dockerx509:certificatesignedbyunknownauthority解决方案registry-1.docker.io/v2/1.echo-n|openssls_client-showcerts-connectregistry-1.doc......
  • docker 安装 elasticsearch
    1.拉取镜像:sudodockerpullelasticsearch:7.12.02.创建docker容器挂载目录:sudomkdir-pv/opt/elasticsearch/configsudomkdir-pv/opt/elasticsearch/datasu......
  • Docker即学即用 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1SK6bYKe6VWVZHOOsfTU8mw点击这里获取提取码  ......
  • Docker实践 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1eqZ2eaaEwJQqlSN6PfemTA点击这里获取提取码 ......
  • Docker开发指南 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1Dz5Hm16DB5pMaKqmuJ1zOw点击这里获取提取码 ......
  • Docker 安全扫描
    一、AnchoreengineAnchoreengine是一款Docker漏洞扫描工具,该工具可从仓库下载镜像,然后对镜像进行安全扫描、分析。其分为社区版本和商业版本,社区版本只提供CLI接口,商业版......
  • mysql8.0创建用户并给用户授权
    MySql8有新的安全要求,不能像之前的版本那样一次性创建用户并授权需要先创建用户,再进行授权操作1.创建新用户:createuser'username'@'host'identifiedby'password'......
  • dremio openjdk 11 docker 镜像
    dremio官方也说明了,已经支持openjdk11了,但是默认官方的还是openjdk8,为了体验jdk11所以基于官方的搞了一个openjdk11的镜像,很简单dockerfileARGJAVA_IMAGE="openjdk......
  • docker部署WordPress
    下载数据库镜像[root@docker~]#dockerpullmysql:latest[root@docker~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZErp......