Docker安装mysql教程

本文档详述了如何在Docker中安装MySQL,包括拉取镜像、创建数据卷、配置my.cnf文件、启动及远程连接MySQL的步骤,确保数据库持久化和允许远程访问。

使用docker安装mysql教程,前提是我们对docker常用的指令比较熟悉

1.下载mysql镜像

:
docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本latest

docker pull mysql
  1. 创建本地路径并挂载Docker内数据
    创建本地文件夹
mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data and mkdir -p /root/docker/mysql/logs
  1. 我们先临时启动一个mysql容器,从该容器中拷贝处理mysql的配置文件,my.cnf.
docker run -it --name test_mysql mysql /bin/bash
-i: 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 )通常和-t一块连用
-t:启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即
分配一个伪终端。
--name 表示我们为容器指定一个名称。
  1. 进入到docker容器中确定当前配置文件的路径,并且拷贝到宿主机上。
查找Docker内,MySQL配置文件my.cnf的位置.
mysql --help | grep my.cnf 将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可。docker容器中my.cnf可能是个软链接无法直接复制到宿主机,具体指向路径需使用ls -l自行查看。
mysql --help | grep my.cnf

在这里插入图片描述
拷贝文件到宿主机上:

docker cp test_mysql:/etc/mysql /root/docker/mysql/conf

在宿主机的/root/docker/mysql/conf可以看到对应的docker文件。
在这里插入图片描述
5. 停止并且删除临时创建的mysql容器的mysql容器 test_mysql

docker rm -f test_mysql
删除临时创建的mysql容器
  1. 挂载数据卷以及配置文件 并且启动mysql
    在宿主机上先进入到第二步创建的mysql的文件夹中.然后执行
echo $PWD

在这里插入图片描述
7.使用docker 命令启动mysql容器

docker run --name mysql2 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

8.进入到容器内部:

docker exec -it mysql2
  1. 登录mysql:使用初始化密码登录123456
mysql -uroot -p 
  1. 修改允许远程连接:
# 选择使用数据库mysql
use mysql;
# 查看user表中的数据
select host,user from user;
# 修改root用户远程连接:
update user set host = "%" where user = "root";
# 刷新权限
flush privileges;
# 退出mysql;
exit;
  1. 对外开放linux的3306的端口号
# 开放端口号
firewall-cmd --add-port=3306/tcp --permanent
# 重新启动防火墙
systemctl restart firewalld

12.重新启动mysql容器:

docker restart mysql2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值