共计 1799 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 今天给大家介绍一下 docker 安装 mysql。 |
安装好 docker 环境后操作
1. 查找镜像
docker search mysql | |
docker search mysql:5.7 |
2. 拉取镜像
docker pull mysql
3. 运行容器
docker run -p 3306:3306 --name chengleimysql -v /data/mysql/conf:/etc/mysql/con.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
命令说明
-p 3306:3306 映射端口 主机: 容器 | |
--name chengleimysql 运行的服务名 | |
-v /data/mysql/conf:/etc/mysql/con.d 将主机的 conf 目录挂载到容器的 conf.d 目录(之后会在主机的 conf 里建立一个文件 my.cnf)-v /data/mysql/logs:/logs 主机的 logs 文件夹挂载到容器的 logs 中 | |
-v /data/mysql/data:/var/lib/mysql 将主机的 data 目录挂载容器里的 mysql | |
-e MYSQL_ROOT_PASSWORD=123456 初始化的 mysql ROOT 用户密码 | |
-d mysql 后台运行 并使用 mysql 镜像 |
验证
进入新建立的 mysql 容器
docker esec -it faf90769b373 /bin/bash
进入 MYSQL 容器里的数据库
mysql -uroot -p
显示如下 成功
root@faf90769b373:/#mysql -uroot -p | |
Enter password: | |
Welcome to the MySQL monitor. Commands end with ; or \g. | |
Your MySQL connection id is 8 | |
Server version: 8.0.28 MySQL Community Server - GPL | |
Copyright (c) 2000, 2022, Oracle and/or its affiliates. | |
Oracle is a registered trademark of Oracle Corporation and/or its | |
affiliates. Other names may be trademarks of their respective | |
owners. | |
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. | |
mysql> |
docker ps
显示如下
[root@localhost mysql]# docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
faf90769b373 mysql "docker-entrypoint.s…" 20 minutes ago Up 20 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp |
docker 中 MYSQL 数据备份
1. 进入新建立的 mysql 容器
docker esec -it faf90769b373 /bin/bash
2. 进入 MYSQL 容器里的数据库
mysql -uroot -p
3. 建立数据库及表
create database db01; | |
use db01; | |
create table t_book(id int not null primary key,bookName varchar(20) ); | |
show tables; | |
insert into t_book values(1,'java'); | |
select * from t_book; |
完成
使用 windows 的 SQLyog 软件 测试连接
如果出现 2058 错误 请在容器中 执行下面命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
4. 把 docker 里的数据库备份至本地
docker exec df6f2a96626f sh -c 'exec mysqldump --all-databases -uroot -p"123456" ' > /data/all-databases.sql
正文完
星哥玩云-微信公众号
