拉取mysql镜像

1
docker pull mysql:8.0.23

hub.docker.com 在这个地址上可以搜索mysql其他版本镜像!

检测mysql镜像

1
docker images
1
2
3
4
5
6
[root@VM-8-14-centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
neosmemo/memos latest 322df040d768 5 months ago 36MB
jc21/nginx-proxy-manager latest 87926fb8f89e 5 months ago 842MB
logicjake/webmonitor latest caef03bb5750 7 months ago 462MB
mysql 8.0.23 cbe8815cbea8 2 years ago 546MB

运行启动mysql镜像

1
2
3
4
5
6
7
sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23

假如安装过程中失败了,则可通过docker ps -a查看以前的容器,假如已存在,则通过docker rm 镜像id 删除再重新安装即可。

查看docker运行列表

1
docker ps -aq
1
2
3
4
5
6
[root@VM-8-14-centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0a57a1f14eb mysql:8.0.23 "docker-entrypoint.s…" 4 days ago Up About a minute 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
b6888f8975fa neosmemo/memos:latest "./memos --mode prod…" 4 months ago Up 4 months 0.0.0.0:5230->5230/tcp, :::5230->5230/tcp memos
8e95fb1c1f9b logicjake/webmonitor "/bin/sh -c './run.s…" 4 months ago Up 4 months 5000/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp webmonitor
0f1e3f6dd91b jc21/nginx-proxy-manager:latest "/init" 4 months ago Up 4 months 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp memos-app-1

启动mysql镜像

1
docker start mysql

停止mysql镜像

1
docker stop mysql

假如希望查看mysql启动时的日志,可以执行 docker container logs mysql 这个指令。

查看docker启动的服务

1
docker ps

进入容器 (退出容器用exit)

1
sudo docker exec -it mysql bash

使用mysql

登陆(默认密码root),一定要先进入mysql容器。

1
mysql -uroot -proot

设置mysql开机自启动(可选)

1
docker update mysql --restart=always

重启mysql服务

1
docker restart mysql

查看mysql用户

1
select host,user,plugin,authentication_string from mysql.user; 

修改用户密码

1
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

更新userroothost%的密码为123456

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

更新userroothostlocalhost 的密码为123456