zoukankan      html  css  js  c++  java
  • Docker 搭建 MySql8

    安装 Mysql8 镜像

    docker pull mysql
    

    运行 Mysql8 镜像生成容器

    docker run 
        -p 23306:3306 
        -e MYSQL_ROOT_PASSWORD=localDocker@mysql 
        -v /home/docker/mysql/data:/var/lib/mysql:rw 
        -v /home/docker/mysql/log:/var/log/mysql:rw 
        -v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf:rw 
        -v /home/docker/mysql/mysql-files:/var/lib/mysql-files/ 
        --name mysql 
        --restart=always 
        -d mysql
    

    登录 Docker 中的 Mysql 存在两种情况

    第一种

    1. 使用命令 docker exec -it mysql /bin/bash 进入容器
    2. 使用命令 mysql -uroot -p 按下 enter 再按 enter 直接登录到 Mysql 里面去,因为里面 root 用户对应的密码是空的
    3. 给 root 用户设置密码
    # 修改用户对应的密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    # 刷新权限
    flush privileges;
    
    1. 需要远程连接时,执行如下命令
    CREATE USER 'root'@'%' IDENTIFIED BY '用户密码';
    flush privileges;
    
    1. 创建出来的用户是没有任何创建数据库权限的,需要执行如下命令进行授权
    grant all privileges on *.* to 'root'@'%' with grant option;
    flush privileges;
    

    第二种

    1. 在执行生成 mysql 容器的时候,我们设置了 mysql 初始密码的,使用那个密码,即可直接登录到 mysql

    说明一下 Mysql 的配置 my.cnf

    [mysqld]
    # 禁止表名大小写验证
    lower_case_table_names=1
    # 禁用dns解析,所以在mysql的授权表中就不能使用主机名了,只能使用IP
    skip-name-resolve
    # mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理
    default_authentication_plugin= mysql_native_password
    
  • 相关阅读:
    [LeetCode] Remove Duplicates from Sorted List
    [LeetCode] Partition List
    oracle字符串载取及判断是否包含指定字符串
    oracle 添加序号
    Oracle的decode、sign、trunc函数
    Oracle行列转换
    java计算今天是今年的第几天
    Oracle 增加 修改 删除 列
    java 获取本机ip
    float类型数保留一位小数
  • 原文地址:https://www.cnblogs.com/gaofangye/p/13490508.html
Copyright © 2011-2022 走看看