MySQL退出选择表格_如何使用docker安装mysql

一.搜索镜像

1.官网查询

①登录官网,搜索栏输入检索的镜像,回车进行查看。

c91ee146d5d6205df452835619177231.png
65db324f53b033fd1943911a8a207e4f.png
img

②选择镜像,官方镜像带有official,点击查看详情。

9d01f949f204e353626372f22c501523.png


③查看版本,点击Tags标签查看检索,默认最新版本。

5fc531b3e6b810980743f48d28b14244.png

2.命令查询

#docker search [OPTIONS] TERM
2b727bb91a6771cd5eb79f226763a896.png
NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
仓库描述点赞次数是否官方发布是否自动创建

备注:已按点赞数从高到低排序

二、拉取镜像 

说明:点击官网右侧复制命令即可使用

#docker pull [OPTIONS] NAME[:TAG|@DIGEST]
bfeaf2f36fdcc8e6ecef3198d3f940f9.png备注:  ①默认为最新版本,即mysql:latest。 ②可指定版本标签,即mysql:标签号(依据官网查询到的版本)。

三、查看镜像

#docker images [OPTIONS] [REPOSITORY[:TAG]]
ef70c03b7d1f6894538b20b86b04d5bd.png
REPOSITORYTAGIMAGE IDCREATEDSIZE
仓库标签镜像ID创建时间大小

参数:-f 检索指定镜像 -q 仅显示镜像ID

四、启动容器

#docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

①主机中创建挂载目录

mkdir -p /server/mysql/data /server/mysql/conf 

②创建临时容器,并进入容器内(用于复制相关配置文件到主机)

docker run -it -p 3306:3306 -v /server/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Aa_123456 --rm --name myMysql mysql:latest /bin/bash
d23167e3e5f89a531e0aa7a887293aca.png

③查看my.cnf配置文件

cat /etc/mysql/my.cnf
5b0cdf1df7964be158c79b7368159c62.png

④复制my.cnf文件到主机 

若是完整的my.cnf配置文件,则通过数据卷将my.cnf复制到主机。

cp /etc/mysql/my.cnf /var/lib/mysql

若包含其他目录下配置文件,则通过数据卷将includedir指定目录也复制到主机。

cp -R /etc/mysql/conf.d/ /var/lib/mysql/conf.d
83623da66a536b7aceb03d1e87a3e1fc.png

备注:版本间配置文件不一致,按此规则进行复制即可。

⑤退出容器,同时自动删除容器。

exit 
c88825d69b20cd9417fc74c5c3172b02.png

⑥查看配置文件,可以选择性修改目录(本文将其存放在/server/mysql/conf下,默认在数据卷/server/mysql/data下)。

1296dc9ef604cd3c5f8e38caf25074d6.png

⑦启动容器

#交互模式:
90c85ea3ecc26c942cee93a0090e5090.png

备注:可使用ctrl+p+q快捷键退出。

#后台启动: 
5e1cb4fb748b78878da3d3f80e4db6fe.png
参数:  -i 交互模式  -t 伪终端  -d 后台运行,返回容器ID  -p 端口映射,主机端口:容器端口  -e 设置环境变量  -v 数据卷 可复用及持久化 主机目录:容器目录  --name 容器名称  --rm 退出后自动删除

备注:

①通过设置环境变量"MYSQL_ROOT_PASSWORD",指定root用户的密码。

②容器日志默认存储到/var/lib/docker/containers//-json.log文件中。

五、查看容器

#docker ps [OPTIONS]
c00b648fe528205e6c713f2b7ab9d1f5.png
CONTAINER IDIMAGECOMMANDCREATEDSTATUS
容器 ID使用的镜像启动命令创建时间状态

参数:

-a 查看所有的容器(包含未运行的) 

-f 检索相应的容器 

-l 最近创建的容器 

-n 最近创建的n个容器 

q 仅显示容器编号 

备注:可使用docker inspect查看详细信息,docker port 查看容器端口映射关系。

六、查看日志(可选)

#docker logs [OPTIONS] CONTAINER  
0aa5a55bdf3ace3ea8a8bb1802945f31.png

参数:-f : 跟踪日志输出 --tail n :最后n条记录

七、进入容器

#docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
a30bb835c14d8b94abd880f24260f2c1.png

备注:同样可以使用容器ID进行入容器

八、访问验证

①内部访问 mysql -u root -p

1af95b368fae8a234048a5abf0ee98f8.png

②远程访问

说明:mysql8.0的默认认证方式为sha2,可以使用如下命令进行修改。

'root'@
f301b8eff7fc9e856f44dd107af57799.png

使用Navicat for MySQL访问如下:

5b3cac74c16cd2d899be965c600bc3e4.png

备注:

①需进入容器后执行如上命令

②可以使用如下命令创建远程连接用户并设置权限: 

create user 'root'@'%' identified with mysql_native_password by'Aa_123456';

grant all on . to 'root'@'%';。

九、退出容器

exit

备注:同样可使用ctrl+d 、ctrl+p+q等方式退出。

十、停止容器

#docker stop [OPTIONS] CONTAINER [CONTAINER...]
9c817469cd5038234660823860775a0d.png

备注:两者的区别在于,stop预留时间做“退出前工作”,相对优雅,而kill则是强行终止容器运行,类似于kill -9。

十一、删除容器

#docker rm [OPTIONS] CONTAINER [CONTAINER...]
5a771509abd97739515b97002583b376.png

参数 :-f 强制删除运行当中的容器 -v 删除与容器关联的数据卷

备注: 

①可使用docker rm  container1 container2 批量删除多个已停止容器 

②可使用docker rm $(docker ps -a -q)批量删除全部已停止容器 

③可使用docker rmi 删除镜像

b20ccfb1d43557025f2f578f5de2480b.png