Docker | 基于docker安装mysql

说明:Docker安装详见《docker的安装与更换yum源》教程

一、拉取Mysql镜像

1.1 查看mysql的docker镜像

docker search mysql

在这里插入图片描述

1.2 拉取tomcat镜像

1.2.1默认拉取最新版

docker pull mysql      

1.2.2 拉取官方特定版本

点击进入docker查看[tag] https://hub.docker.com/

docker pull mysql:[tag]
docker pull mysql:8.0

在这里插入图片描述

1.2.3 拉取个人特定版本(阿里仓库)

  1. 登录阿里云Docker Registry
sudo docker login --username=白衣卿相2744 registry.cn-shanghai.aliyuncs.com

用于登录的用户名为阿里云账号全名
密码为开通服务时设置的密码(点击查看)
您也可以在访问凭证页面修改凭证密码。

  1. Registry中拉取镜像
sudo docker pull registry.cn-shanghai.aliyuncs.com/dockerbin/mysql:[镜像版本号]

二、启动Mysql

2.1 创建挂载目录

mkdir /usr/local/docker/mysql

2.2 复制挂载文件

2.2.1 可以通过本地文件直接复制

2.2.2 可以直接复制docker容器里的文件

  1. 先启动用于复制文件的docker_mysql 容器
sudo docker run -d -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysqltest mysql:8.0
  1. 查看容器
 docker ps  

在这里插入图片描述
3. 复制容器中的文件到宿主机

可先进入容器查看

docker exec -it [ID] /bin/bash

在这里插入图片描述

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为conf。注意:conf文件复制前不能存在

docker cp [ID]:/etc/mysql /usr/local/docker/mysql/conf

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为data。注意:data文件复制前不能存在

docker cp [ID]:/var/lib/mysql /usr/local/docker/mysql/data

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为logs。注意:logs文件复制前不能存在

docker cp [ID]:/var/log/mysql /usr/local/docker/mysql/logs

2.3 启动容器

2.3.1 启动mysql docker容器

此处应注意参数顺序

docker run \
-d \
-p 3306:3306 \
--name mysql \
-v /usr/local/docker/mysql/conf/:/etc/mysql/  \
-v /usr/local/docker/mysql/data/:/var/lib/mysq/ \
-e MYSQL_ROOT_PASSWORD=string@1307 \
--restart=always \
mysql:5.7 \
--lower_case_table_names=1 
docker run -d -p 3306:3306 --name mysql -v /usr/local/docker/mysql/conf/:/etc/mysql/  -v /usr/local/docker/mysql/data/:/var/lib/mysq/ -e MYSQL_ROOT_PASSWORD=string@1307 --restart=always mysql:5.7 --lower_case_table_names=1 

在这里插入图片描述

2.3.2 进入已启动的容器

docker exec -it [ID] /bin/bash
docker exec -it 6db /bin/bash

三、Mysql授权登录

3.1 登录mysql

mysql -uroot -p

在这里插入图片描述

3.2 授权远程登录

3.2.1分步命令

use mysql;
grant all privileges  on *.* to root@'%' identified by "string@1307";
flush privileges;

3.2.2 命令合集

use mysql;
grant all privileges  on *.* to root@'%' identified by "string@1307";
flush privileges;

在这里插入图片描述

3.3 验证连接

3.3.1 使用工具验证连接

在这里插入图片描述

3.3.2 验证大小写敏感

show variables like 'lower%';

在这里插入图片描述

发布了35 篇原创文章 · 获赞 4 · 访问量 952

猜你喜欢

转载自blog.csdn.net/qq_41980405/article/details/104508099