Docker 安装 Mysql 容器 (完整详细版)
说明:
Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。
Docker 镜像仓库
Docker 安装Mysql
1、寻找Mysql镜像
在Docker镜像仓库寻找Mysql镜像
Docker 下载Mysql镜像的命令
2、下载Mysql镜像
2.1. 下载mysql8镜像(版本根据自己选择:这里是8)
docker pull mysql:8
检查当前所有Docker下载的镜像
3、创建Mysql容器并运行
Docker 创建Mysql容器
# 建立目录映射
mkdir /opt/mysql
mkdir /opt/mysql/conf/
mkdir /opt/mysql/log/
mkdir /opt/mysql/data/
# 创建容器,并后台启动mysql8.0以上配置
docker run \
-p 3306:3306 \
--restart=always \
--privileged=true \
-v /opt/mysql/log:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
-d mysql:8
4、查看Mysql是否运行
### 查看Docker运行中的容器
docker ps
3、配置链接信息
# 到这里已经成功启动了、但是外部连接还需要在配置之后才可以。
docker exec -it mysql /bin/bash
# 在容器内登录mysql
mysql -u root -p
# 设置权限(为root分配权限,以便可以远程连接)
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
# 查询所有表
show databases;
#进入MySQL表
use mysql
# 把所有ip访问都设置为root用户
update user set host='%' where user='root';
# 由于Mysql5.6以上的版本修改了Password算法,这里需要更新密码算法,便于使用Navicat连接
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
4、Navicat链接数据库
连接失败看看防火墙有没有关闭、等其它情况请自行百度。。。