文章发布时间:
说明:
Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。
Docker 安装Mysql
1、寻找Mysql镜像
在Docker镜像仓库寻找Mysql镜像
Docker 下载Mysql镜像的命令
2、下载Mysql镜像
命令 | 描述 |
---|---|
docker pull mysql | 下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest ) |
docker pull mysql:xxx | 下载指定版本的Mysql镜像 (xxx指具体版本号) |
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
命令 | 描述 |
---|---|
docker run | 创建一个新的容器 , 同时运行这个容器 |
–name mysql | 启动容器的名字 |
-d | 后台运行 |
-p 3306:3306 | 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口 |
–restart=always | 总是跟随docker启动 |
–privileged=true | 获取宿主机root权限 |
-v /opt/mysql/log:/var/log/mysql | 将日志文件夹挂载到主机 |
-v /opt/mysql/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机 |
-v /opt/mysql/conf:/etc/mysql/conf.d | 将配置文件夹挂载到主机 |
-e MYSQL_ROOT_PASSWORD=123456 | 设置 root 用户的密码 |
mysql:8 | 启动哪个版本的 mysql (本地镜像的版本) |
\ | shell 命令换行符 |
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';
select host,user from user 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链接数据库
本文链接:https://lzphy.top/342/连接失败看看防火墙有没有关闭、等其它情况请自行百度。。。
© 版权声明
THE END
暂无评论内容