• docker 安装mysql 5.7


    1,docker 安装mysql 5.7

    下载MySQL5.7docker镜像

    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;

  • 相关阅读:
    CC2540和CC2541的区别简单解析
    Spring数据绑定之DataBinder篇---01
    ctfshow-web-红包题 辟邪剑谱
    基于springboot+vue的学生评奖评优管理系统
    docker安装单机nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx
    分布式锁3:基于redis的插件redission实现分布式锁
    AI人工智能大模型业务到底有多烧钱?
    ENVI:如何进行图像镶嵌?
    Python反射机制
    SQL Server 开发环境配置教程(SSMS+SQL Prompt)
  • 原文地址:https://blog.csdn.net/qq_34545939/article/details/132879187