尝试用docker连接mysql和gogs容器时出错

i5desfxk  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(311)

在这个屏幕上你可以看到我的错误
屏幕1屏幕2

这是我的docker-compose.yml

version: '3'

services:

  mysql:
    image: mysql:latest
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ~/workspace/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=soextreme
      - MYSQL_USER=root
      - MYSQL_PASSWORD=root

  gogs:
      image: gogs/gogs:latest
      depends_on:
        - mysql
      restart: always
      ports:
        - 3000:3000
        - "10022:22"
      volumes:
        - ~/workspace/gogs:/data

注意,我在这个链接上找到了这个解决方案:我的docker compose文件,但是它不适合我,你能帮我吗,谢谢。

nimxete2

nimxete21#

我可以通过以下步骤来实现:
在mysql docker上,编辑文件:
/etc/mysql/my.cnf
并添加行:

default_authentication_plugin=mysql_native_password

然后以根用户身份连接mysql数据库:

mysql -hdb -P3306 -uroot -p

并执行以下语句:

alter user 'gogs'@'%' identified with mysql_native_password by '...'

您可以通过查询查看当前配置:

select User, plugin from mysql.user;

在gogs上,在数据库主机中:
数据库:3306
这种联系对我起了作用。
一旦修改了gogs插件,可能就不需要在配置文件中修改认证插件了,请自行查看。

相关问题