【Docker安装MySQL】

加载镜像

离线方式
1.1 将离线镜像拷贝到服务器 /usr/local/images/目录下

mysql.tar

1.2 Docker加载本地MySQL镜像

docker load -i /usr/local/images/mysql.tar

在线方式
1.1 拉取镜像

docker pull mysql:5.7

检查镜像是否被加载

docker images

在这里插入图片描述

启动容器

命令说明:

docker run [Options] image

#参数说明
--name="名字"           指定容器名字
--restart=always	   设置容器自启动
-d                     后台方式运行
-it                    使用交互方式运行,进入容器查看内容
-p                     指定容器的端口
	-p ip:主机端口:容器端口  配置主机端口映射到容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
-P                     随机指定端口
-e					   环境设置
-v					   容器数据卷挂载

启动mysql 设置密码、设置挂载数据卷

docker run \
-d \
-p 3306:3306 \
--name mysql5.7 \
--restart=always \
-v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -v /home/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=自己的密码 \
 mysql # 镜像名 默认是mysql:latest 其他版本需要选择自己的镜像版本 例如:mysql:5.7

我的启动案例:

docker run -p 13306:3306 --name mysql5.7 --restart=always  -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -v /home/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

检查MySQL是否启动成功

docker ps

进入容器命令说明:

docker exec -it 容器id/容器name /bin/bash

设置允许外部访问

#进入容器
docker exec -it mysql /bin/bash
#登录MySQL
mysql -uroot -proot
# 修改root 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

修改配置文件

1.查看一下容器绑定的配置文件目录

docker inspect 镜像ID

在这里插入图片描述

[atguigu@hadoop102 etc]$ sudo docker inspect 144

在这里插入图片描述
2.进入本地映射的配置目录,添加相应配置
1)进入本地映射的配置目录

[root@hadoop102 ~]# cd /home/mysql/conf/

2)添加相应配置

[root@hadoop102 conf]# vim my.cnf

3)重启MySQL

[root@hadoop102 conf]# docker restart 144
144

3.原理
进入mysql容器,查看默认的配置文件

sudo docker exec -it 144 /bin/bash
cat /etc/my.cnf

[mysqld]
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

请注意:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

在原来的基础上会加上 /etc/mysql/conf.d/的配置文件,重名的配置会被替换,未重名的会新增,所以进入到/etc/mysql/conf.d/映射的本地路径,就可以达到目的
4.验证
进入mysql执行如下命令:

show VARIABLES LIKE '%你设置的变量名%';
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值