Docker安装Mysql

Docker搭建
一、安装前准备
1、拥有一台服务器(本文使用CentOS7.9版本为例子)
(1)VM导入镜像,搭建虚拟机
(2)购买一台云服务器
2、登入服务器
(1)输入服务器IP、账户名、密码
PS:若使用的账户非root账户,执行以下指令前需加上sudo以提高权限,若没有sudo权限,可寻求管理员帮助;
3、使用服务器自带的yum安装工具安装docker
(1)查看Linux内核
①uname -r

(2)卸载之前安装的Docker软件(如果没有安装过就不用)
yum remove docker docker-common docker-selinux docker-engine
到这里,准备工作结束;
二、安装Docekr
1.安装需要的软件包
yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置 yum 源
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
3.选择docker版本并安装
(1)yum list docker-ce --showduplicates | sort -r
(2)选择一个版本并安装:yum install docker-ce-版本号(我这里使用的是26.1.3)
4.设置docker服务自启动(主机重启后不用去让docker服务重启)
(1)systemctl start docker(启动服务)
(2)systemctl enable docker(设置服务自启动)
到这里Docker安装完毕;验证可以使用docker -version指令。
三、使用docker安装mysql数据库
1、检查docker是否有安装mysql
docker search mysql
2、安装mysql
(1)安装最高版本
docker pull mysql
(2)安装指定版本
docker pull mysql:5.7
执行指令后等待,若提示输入,输入y即可;
3、查看镜像文件
docker images

上图为mysql的两个镜像文件
4、创建docker实例
docker run
–name mysql
-d
-p 3306:3306
–restart unless-stopped
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=123456
mysql:5.7
命令 描述
docker run 创建一个新的容器 , 同时运行这个容器
–name mysql 启动容器的名字
-d 后台运行
-p 3306:3306 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口
-restart unless-stopped 容器重启策略
-v /mydata/mysql/log:/var/log/mysql 将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql 将mysql储存文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root 设置 root 用户的密码
mysql:5.7 启动哪个版本的 mysql (本地镜像的版本)
\ shell 命令换行符
PS: 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。
-restart always :在docker启动时,一直尝试重启;
5、查看实例是否启动(这里启动成功)
docker ps -a(-a查看所有状态的实例,不加仅查看启动状态的实例)
失败场景1,mysql启动失败
docker logs 容器ID前四位
查看docker输出的log
坑1:mysql有些版本的log输出路径不是/var/log/mysql,而是/etc/mysql/conf.d,启动实例的时候要注意了;
6、连接数据库
这里使用Debeaver链接远程数据库;
发现连接被拒绝,检查发现远程链接权限未开启;
登录docker内的mysql后使用指令的方式开启权限;
①登录容器:docker exec -it mysql /bin/bash
②连接mysql:mysql -uroot -proot@123456
③赋予远程链接权限:alter user ‘root’@‘%’ identified with mysql_native_password by ‘123456’;(百分号为Ip,若限定特定Ip访问,填写IP即可);
④刷新权限:flush privileges;
⑤测试链接(链接成功);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值