mac m1使用docker mysql踩坑

dandan3年前程序开发3098

1、etcd版本用3.4.24

2、mysql镜像要用:mysql/mysql-server:8.0.32

3、mysql因为是8的版本,启动后本地没权限连接,需要进容器创建用户和添加权限:

# 进入容器
docker exec -it mysql容器id bash
# 运行mysql
mysql -uroot -[
# 输入密码,登录
# 操作user库
use user;
# 创建账户
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
# 为创建的账户赋权
GRANT ALL ON *.* TO 'root'@'%';
# 刷新
FLUSH PRIVILEGES;
3、发现etcd也不兼容arm64版本,换了版本号3.4.24可以用



4、目前在mac上本地调试用的docker-compose.yaml:

version: '3'
services:
  mysql:
    container_name: mysql8
    image: mysql/mysql-server:${MYSQL_VERSION}
    restart: always
    ports:
      - ${MYSQL_PORT}:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: zero_mall
    volumes:
      - ${MYSQL_DIR}/data:/var/lib/mysql
      - ${MYSQL_DIR}/conf:/etc/mysql/conf.d/
      - ${MYSQL_DIR}/logs:/logs
    command:
      --bind-address=0.0.0.0
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
  Etcd:
    container_name: etcd3
    image: bitnami/etcd:${ETCD_VERSION}
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes
    privileged: true
    volumes:
      - ${ETCD_DIR}/data:/bitnami/etcd/data
    ports:
      - ${ETCD_PORT}:2379
      - 2380:2380


同目录下的.env文件:

COMPOSE_PROJECT_NAME=gozero-demo-mall
ETCD_DIR=/Users/yelin/go_dev/project/src/go-zero-docker/etcd
ETCD_VERSION=3.5.7
ETCD_PORT=2379
MYSQL_VERSION=8.0.32
MYSQL_DIR=/Users/yelin/go_dev/project/src/go-zero-docker/mysql
MYSQL_PORT=3306


启动: docker-compose up -d  

重启: docker-compose restart

停止删除:docker-compose down


如果mysql的配置发生变化,比如改了root密码,并不会生效,需要删除mysql配置目录文件才行,在MYSQL_DIR目录里,我是3个都删,影响暂未知


etcd也踩了好多坑,最后测试3.5.7可以启动

返回列表

上一篇:go-zero安装

下一篇:go-zero学习

相关文章

go-zero学习

goland创建新项目,需要在设置->go->go模块里启用go模块集成,不然下载的包无法正常引入根据api文件内容生成文件 goctl api go&nbs...

golang环境安装(mac m1)

1、进官网https://www.gomirrors.org/下载tar格式的报,选arm64的2、在电脑新建一个目录,专门用于放go的项目3、将下载的包放到目录里,使用终端,进入该目录后,并进行解压...

MQTT协议使用

服务端因为使用的发布/订阅模式,似乎不需要自己写服务端,只要安装现成开源服务器即可,这里选了EMQX#到官网,选择服务器版本,下载安装,已centos7为例: #下载源码包 wget h...

go Imagick图片处理

使用前先需要安装ImageMagicMac环境brew install imagemagick #安装依赖(不确定装完上面会不会自动装) #尝试的时候发现依赖都装不上,把提示的...

git操作

将本地现有项目放到远端上:添加远程仓库: git remote add [远端名称] [远端地址], 名称一般默认都是origin,地址就是项目地址git remote add&n...

go相关踩坑

安装swag根据官方教程,执行下方后,GOPATH/bin中没有swag程序,应该要先配置GOBIN环境变量,有了后再执行。 其他根据官网来再下两个gin-swag和filesgo inst...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。