第一步:安装Docker

请查看: CentOS 7安装Docker

第二步:下载mysql5.7镜像

# docker pull mysql:5.7

查看镜像

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 ae6b78bedf88        5 weeks ago         372MB
mysql               latest              f991c20cb508        5 weeks ago         485MB

这里使用的是5.7,最新版本由于密码规则我的navicat只能连接上root用户远程,所以改为mysql57

第三步:运行容器

#  docker run -p 3308:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=Qabc_123 -d mysql:5.7

我这里映射本地的3308端口,注意需要再防火墙中开启3308,如果是云服务器,需要在安全组中放行端口。

防火墙开启3308端口:

# firewall-cmd --zone=public --add-port=3308/tcp --permanent(--permanent永久生效)
# 重新载入
# firewall-cmd --reload

或者干脆直接关闭防火墙

# systemctl stop firewalld

第四步,进入容器,开启远程访问

查看容器

# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
5524ddca12c1        mysql:5.7           "docker-entrypoint..."   16 hours ago        Up 16 hours         33060/tcp, 0.0.0.0:3308->3306/tcp   mymysql

进入容器

# docker exec -it mymysql bash

登陆mysql

root@5524ddca12c1:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

创建数据库

mysql> create database hdl_crm;

创建用户并授权

mysql> grant all privileges on hdl_crm.* to crm@"%" identified by "password" with grant option;

刷新权限

mysql> flush privileges;

第五步,工具连接

使用navicat链接mysql

 

至此,大功告成。

闲暇之余,记录一下过程。

 

参考文章:Docker安装mysql 配置远程登录

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐