• Docker:Docker部署mysql数据库


    docker部署mysql : 8.0

    1.在宿主机创建mysql挂载目录

    #创建目录
    mkdir /home/mysql/conf
     
    mkdir /home/mysql/logs
     
    mkdir /home/mysql/data

    2.docker拉取MySQL镜像

    docker pull mysql:latest

    3.创建mysql容器

    docker run --name mysql -p 3308:3306 -v /home/mysql/conf:/etc/mysql -v /home/mysql/logs:/logs -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

    参数解释:

    • --name 容器名字
    • -p 3308:3306 物理机端口:容器内部端口
    • -e 运行参数 初始化 root 用户的密码
    • -d 后台运行 mysql/mysql-server:5.5 下载的镜像名字加标签
    • -v /home/mysql/conf:/etc/mysql:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。//配置文件目录
    • -v /home/mysql/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。//日志目录
    • -v /home/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。//数据库文件存放目录

    4.进入容器内部

    docker exec -it mysql bash

    5.进入mysql

    mysql –u root –p

    6.修改远程连接

    #指定数据库
    use mysql;
    #查看用户连接范围
    select user, host form user;
    #修改mysql允许远程连接
    update user set host='%' where user='root';
    #刷新 flush privileges;

    7.设置Navicat连接

    mysql8.0使用Navicat连接会报错:Client does not support authentication protocol requested by server;consider upgrading MySQL client.

    解决方法:

    #使用mysql命令修改配置
    alter user 'root' IDENTIFIED WITH mysql_native_password by 'Navicat密码';
    #刷新
    flush privileges;

    8.本机连接方式

    # 本机连接容器内的数据库,(我们将容器内的3306端口映射到了本机的3308,所以我们通过3308端口访问)
    mysql -u root -p -h 127.0.0.1 -P 3308

    文章转载至:https://www.cnblogs.com/liuyublog/p/9099376.html

  • 相关阅读:
    关于发现宇宙微波背景(CMB)辐射的一则趣闻
    windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
    非洲小孩
    Android自己定义控件背景及其Drawable以实现扁平化
    POJ2533:Longest Ordered Subsequence
    iOS Dev (63) 怎样在 TableView 滚动时收起键盘?
    自己用c语言做的日历
    time .h 的用法
    动态规划--目标和问题
    Linux shell编程学习笔记---第八章
  • 原文地址:https://www.cnblogs.com/nhdlb/p/12525132.html
Copyright © 2020-2023  润新知