在安装mysql前,首先来了解下docker镜像,docker的三大核心是镜像、容器和仓库。
可以比喻如下:
docker | 面向对象 |
镜像 | 类 |
容器 | 实例 |
更多的了解请自行百度。
1.下载镜像
docker pull mysql:5.7.32 指定版本号,也可以不指定下载最新的docker pull mysql
镜像仓库地址:https://hub.docker.com/
2.新建挂载目录
mkdir -p ~/yoyo/mysql/conf ~/yoyo/mysql/data
3.启动容器
docker run -p 3309:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32
- -p 3309:3306:将容器的 3306 端口映射到主机的 3309 端口。
-
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
4.查看运行容器
docker ps 可以看到容器的id
5.设置容器开机启动
docker update --restart=always 6d76981d637b (6d76981d637b为容器id)
6.进入容器操作mysql
docker exec -it 6d76981d637b bash
7.使用root用户操作mysql
mysql -uroot -p
然后输入密码(之前设置的密码123456)
8.查看表名称
show tables;
9.授权
GRANT ALL ON *.* TO 'root'@'%';
10.刷新权限
flush privileges;
11.更新加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
12.更新root用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
13.刷新权限
flush privileges;
14.退出
exit 2次退出就退出容器了
15.用Navicat连接mysql
主机名:IP地址或localhost
端口:3309
用户名:root
密码:123456
一开始未连接上,后来重新进入mysql操作步骤9-13,再次连接就可以了
~~完成
下面是一些命令:
docker ps 查看运行的容器
docker ps –a 查看所有的容器
docker logs 容器id或name 查 看运行日志
docker stop 容器id或name 停掉容器
docker start 容器id或name 启动容器
docker restart 容器id或name 重启容器
docker rm 容器id或name 删除容器(先stop)
docker rmi 镜像id 删掉镜像(先stop 容器