Docker安装mysql8.0以上版本

    技术2022-07-11  89

    一、安装docker

    1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    通过 uname -r 命令查看你当前的内核版本 :uname -r

    2、使用 root 权限登录 Centos7。确保 yum 包更新到最新。

    sudo yum update #更新yum到最新

    3、卸载旧版本(如果安装过旧版本的话)

    sudo yum remove docker docker-common docker-selinux docker-engine

    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    5、设置yum源

    #配置国外镜像源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #配置阿里云镜像源【推荐使用】 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    6、可以查看所有仓库中所有docker版本,并选择特定版本安装

    yum list docker-ce --showduplicates | sort -r

    7、安装docker

    sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1 sudo yum install <FQPN> # 例如:sudo yum install docker-ce-18.03.1-ce

    8、启动并加入开机启动

    $ sudo systemctl start docker $ sudo systemctl enable docker

    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    docker version
    二、问题

    1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

    Transaction check error: file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

    2、卸载旧版本的包

    sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

    3、再次安装docker

    sudo yum install docker-ce
    三、开始安装mysql

    1、拉取mysql镜像

    docker pull mysql #拉取镜像

    2、创建并启动mysql容器

    docker run -d --name mysql -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest

    3、进入mysql容器内部

    docker exec -it 镜像ID /bin/bash

    4、进入mysql内部

    mysql -uroot -p

    5、授权

    GRANT ALL ON *.* TO 'root'@'%';

    6、刷新权限

    flush privileges;

    7、更新加密规则

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

    8、更新root用户密码:

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

    9、刷新权限

    flush privileges;

    好了~~~~现在就可以使用客户端工具连接mysql了。

    Processed: 0.009, SQL: 9