zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    kendo DataSource
    动态改变kendoGrid的数据、列和基础设置
    kendoValidator 验证
    块级元素的水平、垂直居中
    kendoUpload 上传控件
    916数据结构额外考题
    916 数据结构与算法考纲
    英语六级作文翻译
    考研线性代数
    蓝牙室内定位技术原理
  • 原文地址:https://www.cnblogs.com/nhdlb/p/12525132.html
Copyright © 2011-2022 走看看