码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker 安装mysql 5.7


    1,docker 安装mysql 5.7

    下载MySQL5.7的docker镜像

    docker pull mysql:5.7
    

    使用如下命令启动MySQL服务:

    1. docker run -p 3306:3306 --name mysql \
    2. -v /mydata/mysql/log:/var/log/mysql \
    3. -v /mydata/mysql/data:/var/lib/mysql \
    4. -v /mydata/mysql/conf:/etc/mysql \
    5. -e MYSQL_ROOT_PASSWORD=root \
    6. -d mysql:5.7

    参数说明

    • -p 3306:3306:将容器的3306端口映射到主机的3306端口
    • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
    • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    • -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
    • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

    遇到问题:如果遇到如下问题,说明映射的配置文件有问题

    1. root@liusongshan-X55VDR:/etc# docker logs 6c69c0c7e86174b60597b515d0cec9018ea58f109f9ecfac2396beeac0c593f5
    2. 2023-09-14 07:01:37+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.43-1.el7 started.
    3. 2023-09-14 07:01:37+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
    4. command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.5pVGLvMw7t
    5. mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
    6. mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

    解决方式:

    在/mydata/mysql/conf下面执行创建.cnf文件,文件名随意

    touch my.cnf

    2,修改密码

    1.查看启动的MySQL容器id

    docker ps |grep mysql

    2.进入启动的MySQL容器中

    docker exec -it a00ba5071c1e /bin/bash

    3.修改MySQL配置文件

    在最后一行添加skip-grant-tables代码( //跳过mysql的密码验证)

    (如果容器中没有vim命令的话,可以依次使用命令apt-get update ,apt-get install vim 下载安装vim)

    vim /etc/mysql/conf.d/docker.cnf

    4.重启数据库

    service mysql restart

    5.重启MySQL容器

    docker restart a00ba5071c1e

    6.再次进入启动的MySQL容器内

    docker exec -it a00ba5071c1e /bin/bash

    6.使用语句mysql -u root -p 语句

    登录数据库,不用输入密码,直接回车

    mysql -u root -p

    7.使用MySQL数据库

    use mysql

    8.更新用户密码

    update mysql.user set authentication_string=password('123') where user='root';
     

    9.退出mysql

    10.再次编辑mysql配置文件

    删除刚刚添加的skip-grant-tables

    vim /etc/mysql/conf.d/docker.cnf

    11.再次重启mysql

    service mysql restart

    12.再次重启docker容器

    docker restart a00ba5071c1e

    3,开启远程访问

    1. use mysql;
    2. -- 修改host
    3. update user set host = '%' where user = 'root';
    4. -- 配置生效
    5. flush privileges;

  • 相关阅读:
    arm64架构 统信UOS搭建PXE无盘启动Linux系统(麒麟桌面为例)
    Wireshark在多媒体开发中的使用
    比亚迪越来越像华为?
    用HTML、CSS和JavaScript制作的通用进制转换器
    8天长假快来了,Python分析【去哪儿旅游攻略】数据,制作可视化图表
    CUDA和cudnn详细安装过程【通用win】
    Virtio-PMD的路径选择与用法
    JavaSE_day39(接上File:获取,修改,数组形式获取,获取目录下的java文件,删除目录。回顾以及深入完整介绍IO,使用字符、字节复制文本文件)
    【JS高级】js面向对象三大特性之多态_07
    Jenkins实现基础CI操作
  • 原文地址:https://blog.csdn.net/qq_34545939/article/details/132879187
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号