拉取MySQL 5.7镜像

docker pull centos/mysql-57-centos7

创建mysql5.7容器

docker run -di —name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7

  1. + -p 代表端口映射,格式为 宿主机映射端口:容器运行端口
  2. + -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的远程登陆密码(如果是在容器中使用root登录的话,那么其**密码为空**)

进入mysql5.7容器

docker exec -it mysql5.7 /bin/bash

登录容器里面的mysql

mysql -u root -p

image.png
开启mysql的远程登录权限,默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。远程登录mysql的权限登录mysql后输入如下命令

grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;

开放Linux的对外访问的端口3306

注意:不可以在mysql里面操作防火墙开放端口,必须在系统内操作

开放的端口永久保存到防火墙
firewall-cmd —zone=public —add-port=3306/tcp —permanent
#重启防火墙
systemctl restart firewalld