Centos7 上安装 MySQL

工具 2019-11-04 2389 字 1195 浏览 点赞

起步

在 Centos7 上安装 mysql 是一件比较麻烦的事儿,要么将源码拉下来自己编译,要么忍受乌龟爬的外网。只要操作简单,方案可行,乌龟爬就乌龟爬吧——如果你抱着这样的想法,不妨转至这篇文章 CentOS7安装MySQL(完整版)

本文是想寻找一个折中点。既保证 mysql 正常使用,又不必被网速闹心。我仔细思索过,觉得借助 docker 容器是一优解。

操作步骤

$ yum install docker -y  # 安装 docker

$ systemctl start docker  # 启动 docker

$ docker pull daocloud.io/library/mysql:5.7  # 拉取 5.7 版本的 mysql 镜像

$ mkdir /var/mysql/conf /var/mysql/data -p  # 创建本地目录,用于存放数据和配置文件

# 实例化并启动一个容器
$ docker run --name mysql57 \
           -p 3306:3306 \
           -v /var/mysql/data:/var/lib/mysql \
           -v /var/mysql/conf:/etc/mysql/conf.d \
           --privileged=true \
           -e MYSQL_ROOT_PASSWORD=123456 \
           -itd daocloud.io/library/mysql:5.7
  • -p 3306:3306 表示端口映射。也就说访问宿主机的 3306 端口就是在访问容器的 3306 端口。
  • -v /var/mysql/data:/var/lib/mysql 是映射目录。本该存放在 docker 容器中的数据就会出现在指定的宿主机目录下。但你首先得确保宿主机上有这样一个目录。
  • --privileged=true 为容器添加特定权限。如果不这样做,映射目录时容器内部将报错:chown: changing ownership of '/var/lib/mysql/': Permission denied
  • -e MYSQL_ROOT_PASSWORD=123456 设置 mysql 中的 root 用户密码。这里我设置为 123456,你可以自行修改。
  • -itd daocloud.io/library/mysql:5.7 以守护的方式实例一个容器。:5.7用来指定标签,也就是指定 mysql 的版本(docker pull 中也是这个道理)。更多版本可到 docker hub 中查看。

可能用到的 docker 命令

  • 启动/停止 docker
$ systemctl start docker
$ systemctl stop docker
  • 浏览本地 docker 镜像
$ docker images
  • 显示 docker 容器
# 显示所有 docker 容器
$ docker ps -a

# 显示正在运行的 docker 容器
$ docker ps
  • 启动/停止 docker 容器
$ docker start [container_id]

$ docker stop [container_id]

# 实例一个容器后,该容器就会有一个独一无二的 id,敲击 `docker ps -a` 可看到。
  • 查看容器中的日志
$ docker logs [container_id]
  • 进入/退出容器
$ docker exec -it [container_id] bash
# 你需要保证容器处于 running 状态
# 退出容器用 `exit`
  • 删除镜像/容器
# 删除镜像。你需要确保没有容器使用这个镜像。
$ docker rmi [image_id]

# 删除容器。你需要确保容器处于 stop 状态。
$ docker rm [container_id]
  • 卸载 docker
$ rpm -qa | grep docker | xargs -n1 yum remove -y

以上是一些常用的 docker 命令,足以应付日常状况。如果遇到特殊情况,就不得不找百度啦。

感谢



本文由 Guan 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论