Docker(3) —— Docker中安装MySQL

我使用的系统是:

  • CentOS 7(腾讯云服务器)
  • macOS 10.14

一、操作前提

  1. 安装好Docker
  2. 耐心阅读本教程

二、操作步骤

  1. 创建容器
docker pull mysql:5.7 # 拉取mysql5.7的镜像,我是用的是5.7
#docker pull mysql:latest # 拉取mysql8.0+的镜像
  1. 启动容器
docker run -p 3306:3306 --name mysql MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参数 作用
run 以某个镜像为基础运行一个容器
-p 3306:3306 将容器中的3306端口映射到主机的3306端口上(要映射的容器端口:要映射的主机端口)
—name mysql 赋予该容器一个名字
-v 挂载卷
-e MYSQL_ROOT_PASSWORD=123456 为容器创建环境变量
-d mysql:5.7.19 该容器使用的镜像
  1. 查看MySQL容器是否启动
docker ps

如果能看到类似下面的信息,则说明MySQL容器启动好了

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e8d8030753f3        mysql:5.7           "docker-entrypoint.s…"   6 seconds ago       Up 4 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
  1. 更改密码(允许外部访问)

首先先使用Docker命令进入mysql容器里

docker exec -it mysql /bin/bash

选择mysql库,查看user表中的一些信息

SELECT host,user FROM mysql.user;

只要mysql返回的信息如下

mysql> select host,user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+

其中,root的host有%的话,我们就可以远程连接到服务器的mysql中(端口号为3306)

如果没有上述结果,则需要执行下面的语句(BY后面的引号可以换成自己想要的密码)

USE mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

再次进行确认,无误后开始使用Navicat连接(SQLyog等软件都是可以的)


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JikeStardy/article/details/103931548