点击安装 Docker

拉取MySQL镜像5.7

  1. docker pull mysql:5.7

查看拉取的镜像

  1. docker images |grep mysql

640.webp

创建目录mysql用于存放MySQL相关文件

  1. $ mkdir mysqlfiles$
  2. cd mysqlfiles

创建MySQL容器: !!!请注意这里设置暴露的对外端口是 3360 !!!

  1. $ docker run -p 3360:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  2. #参数说明
  3. -p 3360:3306:将容器的 3306 端口映射到主机的 3360 端口(第一个物理机端口,第二个容器端口)。
  4. -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
  5. -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs
  6. -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
  7. -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
  8. -d: 后台运行容器,并返回容器ID
  9. !!!请注意这里设置暴露的对外端口是 3360 !!!

查看运行的容器

  1. docker ps | grep mysql

开启docker交互模式终端

  1. $ docker exec -i -t mymysql /bin/bash

登录MySQL

  1. $ mysql -u root -p输入123456

进入MySQL后授权

  1. #--数据库的所有权限授权给 user这个用户,允许user用户在任何一个 IP 进行远程登陆,并设置 root 用户的密码为 123456
  2. > grant all PRIVILEGES on *.* to 'user'@'%' identified by '123456';
  3. > flush privileges;
  4. >exit;

退出docker终端

  1. exit

添加安全组

640 (1).webp

使用navicat连接,并新建数据库 my_bd

640 (2).webp

服务端登录mysql和检查创建情况:

  1. docker exec -i -t mymysql /bin/bash
  2. mysql -uroot -p
  3. mysql> show databases;
  4. +--------------------+
  5. | Database |
  6. +--------------------+
  7. | information_schema |
  8. | my_bd |
  9. | mysql |
  10. | performance_schema |
  11. | sys |
  12. +--------------------+
  13. 5 rows in set (0.00 sec)

大功告成!!!