首先安装好Docker -> Centos7安装Docker_一颗小松丸的博客-CSDN博客
大致步骤两步
1.下载MySQL
2.启动容器
1、下载MySQL(拉取镜像,镜像配置阿里云,否则可能会失败)
docker pull mysql
查看是否下载成功
docker images
2、启动容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
-p 3306:3306:将主机的3306端口映射到Docker容器的3306端口。
--name mysql:运行服务名字为mysql
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码为root。
-d mysql : 后台程序运行mysql
查看当前docker内所有进程,
docker ps
mysql启动进程出现,安装成功
3.操纵MySQL
使用进程id启动MySQL
docker exec –it d880ddd36590 /bin/bash
使用SQLyog或Navicat远程访问Docker中MySQL
首先开放虚拟机中mysql的端口或者关闭虚拟机防火墙(2选1)
开放虚拟机中mysql的端口3306
firewall-cmd --add-port=3306/tcp
关闭虚拟机防火墙
systemctl stop firewalld
再查看虚拟机的ip地址
ifconfig
使用SQLyog连接mysql
若出现该错误,先检查数据库的ip,账号密码是否正确,否则原因可能是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
我们去mysql中修改
1.远程连接使用%,windows下将%替换为localhost
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
2.密码还设为root
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
3.刷新权限
FLUSH PRIVILEGES;
再次访问,发现成功连接,也能看到确实是mysql版本为8之后,因为我们在拉取mysql镜像时,默认会拉取软件的最新版本。