导读 今天给大家介绍一下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

原文来自:https://blog.51cto.com/u_64214/5143418

本文地址:https://www.linuxprobe.com/docker-mysqld.html编辑:王华超,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/