docker安装mysql8.0

安装

1.首先从docker官方库拉去最新的mysql官方镜像

docker pull mysql:latest

注:我拉取的时候版本为8.0.12,使用docker images查看拉取成功的镜像

2.使用mysql镜像启动容器,并在后台运行

docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

注1:–name 设置容器名称;-p 设置容器和主机的端口映射; -e 设置默认的root密码; -d 使容器在后台运行;最后的mysql是使用的镜像名

注2:执行后可以使用docker ps命令查看到运行的容器

3.登陆数据库尝试

直接使用命令登陆数据库是会报错的,因为8.0版本的加密规则因为安全性被改了,而且也不允许外部直接登陆,默认拒绝所有非本地连接。

4.登陆mysql容器,并使用root直接登陆

docker ps

docker exec -ti [容器id] bash

mysql -uroot -proot

5.修改加密规则和可访问的来源,刷新数据库

use mysql;

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;

alter user ‘root’@’%’ identified by ‘root’;

flush privileges;

quit;

注:use mysql后可以使用命令修改数据库配置; ‘root’@’%’中的%表示允许任意来源访问数据库,默认是localhost;mysql_native_password表示修改加密规则为原来的方式;flush privileges是刷新数据库命令;第三条命令是修改数据库密码为‘root’(建议修改为其他)

6.在容器所在虚拟机使用127.0.0.1的IP访问,在其他虚拟机使用容器所在虚拟机的公网IP访问