zoukankan      html  css  js  c++  java
  • Docker mysql 1045处理办法

    一、遇到问题

    今天想部署程序突然发现mysql连接不上了,如下图所示:

     二、解决方式

    我的dokcer-compose.yml配置:

    version: '3.1'
    services:
            db:
               restart: always
               image: mysql:5.7.20
               environment:
                 MYSQL_ROOT_PASSWORD: 123456
               command:
                 --default-authentication-plugin=mysql_native_password
                 --character-set-server=utf8mb4
                 --collation-server=utf8mb4_unicode_ci
                 --explicit_defaults_for_timestamp=true
                 --lower_case_table_names=1
               ports:
                  - '3306:3306'
               volumes:
                  - ./data:/var/lib/mysql
                  - ./conf:/etc/mysql/conf.d
                  - ./logs:/logs
    
            # MySQL 的Web客户端
            adminer:
              image: adminer
              restart: always
              ports:
                 - '8081:8080'

     1、通过vi命令直接修改my.cnf

    vi /usr/local/docker/mysql/conf/my.cnf
    #加入下面这句话
    [mysqld]
    skip-grant-tables

    2、重启mysql,让配置生效

    #在mysql目录下
    docker-compose down
    docker-compose up -d

    3、通过docker交互命令访问容器

    #交互命令
    docker exec -it e277ad12c23e /bin/bash

    如下图所示,不需要密码已经进入到mysql

    4、重置密码,我用的是mysql8,其他版本命令会有区别

    #选择数据库
    use mysql

    #更新密码
    UPDATE user SET authentication_string="" WHERE user="root";

    #刷新权限 flush privileges;

    #退出
    quit

    7、修改配置文件,重启mysql

    vi /var/lib/docker/overlay2/54937c49054d044e22bd53c1ff1f763614426bc39b27ef2bfbe1f8edb583e3fa/diff/etc/mysql/my.cnf
    #删除下面这句话
    skip-grant-tables

    8、重启mysql

    #在mysql目录下
    docker-compose down
    docker-compose up -d

    9、再次进入容器,并连接mysql

    #设置密码验证方式,并重新设置密码
    ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

    参考教程:https://blog.csdn.net/qq_42348937/article/details/86326470

  • 相关阅读:
    [转]Design Time Serialization
    啥都不说了,不枉熬油点灯了
    Eclips汉化
    FreeBSD 上用上苹果黑体,效果很棒
    使用Portupgrade
    fvwm2rc
    make.conf 配置优化
    基于FreeBSD5.4全能服务器安装(dns,ftp,apache,qmail)
    portssupfile
    关于FreeBSD 5优化的补充
  • 原文地址:https://www.cnblogs.com/myLeisureTime/p/13522781.html
Copyright © 2011-2022 走看看