美文网首页
Docker 下安装mysql

Docker 下安装mysql

作者: 你笑时很美丶 | 来源:发表于2019-05-07 11:41 被阅读0次

    1.查看docker仓库中mysql的最新版 https://hub.docker.com/_/mysql

    版本
    • 或者在linux中直接搜索[图2]:
    #docker search 
    docker search mysql
    
    图2

    2.下载镜像(因为我已经安装了就不贴图了)

    #docker pull 下载命令
    docker pull mysql:8.0.16
    

    3.查看是否下载成功

    docker images |grep mysql
    
    图3

    4.创建目录mysql,用于存放后面的相关东西

    #这里路径自行修改
    mkdir -p /project/docker/mysql/logs /project/docker/mysql/conf /project/docker/mysql/data
    
    • data目录将映射为mysql容器配置的数据文件存放路径
    • logs目录将映射为mysql容器的日志目录
    • conf目录里的配置文件将映射为mysql容器的配置文件

    5.启动mysql镜像

    docker run -p 3306:3306 --restart=always -v /project/docker/mysql/conf:/etc/mysql/conf.d -v /project/docker/mysql/logs:/var/log/mysql -v /project/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql -d mysql:8.0.16
    
    • --name: 以啥名字启动容器
    • -d mysql:需要启动的容器的名称
    • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
    • -v /project/docker/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的 /project/docker/mysql/conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
    • /project/docker/mysql/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
    • /project/docker/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
    • -e MYSQL_ROOT_PASSWORD=12345:初始化mysql密码

    6.查看镜像是否启动成功

    docker ps
    #进入mysql镜像
    docker exec -it mysql bash
    #进入mysql
    mysql -uroot -p123456
    #停止镜像 name/id
    docker stop id
    #启动镜像 name/id
    docker start name/id
    
    图6
    • 若安装成功也连接不上:
    • 开放阿里云端口(在安全组中添加3306)
    • 开放防火墙端口
    #检查防火墙端口
    netstat -apn|grep 3306
    #若3306被占用请删除镜像重新run一个端口
    #开启3306端口
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    #在不改变状态的条件下重新加载防火墙
    firewall-cmd --reload
    
    • 设置mysql权限,root允许被任意IP地址访问
    update mysql.user set host = '%' where user = 'root';
    #GRANT ALL ON *.* TO 'root'@'%';
    #若仍然不行
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
    #刷新权限
    flush privileges;
    
    #'root'@'%' 中的root为用户名,'%'为user表host字段的值,'root123456'为用户密码
    
    

    相关文章

      网友评论

          本文标题:Docker 下安装mysql

          本文链接:https://www.haomeiwen.com/subject/hawsoqtx.html