docker安装mysql并挂载配置文件和修改密码

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

docker pull mysql
docker pull mysql:8.0.28 带版本

挂载数据卷以及配置文件

运行mysql命名容器名称为mysqe并且设置root账号初始密码为root
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=“root” mysql
参数说明: docker run:运行docker容器命令
–name mysql :给容器设置别名
-p 3306:3306:将容器的3306端口映射到宿主机的3306端口
-e MYSQL_ROOT_PASSWORD=你的密码 : 初始化root用户登录密码
-d : 后台运行容器,并返回容器id mysql:8.0.18:也可以使用镜像id,就是image ID
-v 挂载文件或目录 :前表示主机部分,:后表示容器部分。
–name=“名字” 指定容器名字
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 主机端口:容器端口

进入Docker容器内

docker exec -it 容器id /bin/bash

确定Docker内 MySQL 文件相关路径

查找Docker内,MySQL配置文件my.cnf的位置 mysql --help | grep my.cnf

创建本地路径并挂载Docker内数据

创建本地文件夹
mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/data && mkdir -p /home/docker/mysql/logs

修改文件权限为可编辑 *表示所有文件

chmod -R 777 /home/docker/*

修改配置文件

执行下面命令进入到conf 目录中,并在该目录中创建my.cnf配置文件
cd conf
touch my.cnf

# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
default-time-zone = '+8:00'#最大链接数
max_connections=1024#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
log_bin_trust_function_creators=1
#启用log-bin
log-bin=mysql-bin#设置日志格式
binlog_format=mixed#设置binlog清理时间
expire_logs_days=7# 数据表默认时区
default-time-zone='+08:00'# Custom config should go here
!includedir /etc/mysql/conf.d/

将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可

docker cp mysql:/etc/mysql/my.cnf /home/docker/mysql/conf
· --name:为容器指定一个名字
· -p:指定端口映射,格式为:主机(宿主)端口:容器端口
· -e:username=“xxx”,设置环境变量
· --restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次
· -mount:绑定挂载
· -d:后台运行容器,并返回容器 id

创建 MySQL 容器并启动

docker run -p 3306:3306 --name mysql -v /home/docker/mysql/logs:/var/log/mysql -v /home/docker/mysql/data:/var/lib/mysql -v /home/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --restart=always --privileged=true -d mysql:8.0.28

停止docker

docker stop 容器id

删除docker

docker rm容器id

Docker启动容器自启

docker update mysql --restart=always

查看容器运行状态和日志

查看容器运行状态:
docker ps -a | grep 容器id

查看容器日志:

查看最后200条日志
docker logs --tail=200 容器id

滚动监听
docker logs -f 容器id

标题修改密码

1、进入容器
docker exec -it 容器id bash

2、登录mysql
mysql -u root -p

3、使用mysql数据表
use mysql;

4、修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘密码’;

5、刷新权限
flush privileges;

6、quit; (然后退出Mysql)

7、重启容器

开启远程登录

(解决mysql Operation ALTER USER failed for ‘root’@’%')

1、进入容器
docker exec -it 容器id bash

2、登录mysql
mysql -u root -p

3、使用mysql数据表
use mysql;

4、查看user表中的数据:
select Host, User from user;
localhost 为本地登录

6、修改user表中的Host:
update user set Host=‘%’ where User=‘root’;
说明: % 代表任意的客户端,可替换成具体IP地址。

注意:一定要记得在写sql的时候要在语句完成后加上" ; "

docker安装mysql并挂载配置文件和修改密码相关推荐

  1. docker安装mysql 并挂载目录

    docker安装mysql 并挂载目录 == 注意代码删除注释== 创建目录/tmp/mysql/data 创建目录/tmp/mysql/conf 挂载/tmp/mysql/data到mysql容器内 ...

  2. 使用Docker安装mysql,挂载外部配置和数据

    1.挂载外部配置和数据安装 mkdir /opt mkdir /opt/mysql mkdir /opt/mysql/conf.d mkdir /opt/mysql/data/创建my.cnf配置文件 ...

  3. Docker安装mysql,挂载外部配置和数据时启动失败

    问题 首先使用如下命令创建mysql docker容器 注意:密码替换成自己的 docker run -p 3306:3306 --name mysql \-v /mydata/mysql/log:/ ...

  4. Centos8安装Docker,使用Docker安装MySQL、Oracle并修改实例名

    centos8安装Docker 1.安装依赖 # 首先我们设置 Docker 仓库 yum install -y yum-utils device-mapper-persistent-data lvm ...

  5. docker 安装 mysql 并映射数据库存放路径及配置文件

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  6. liunx 环境下docker安装mysql

    liunx 环境下docker安装mysql 1.链接虚拟机 无界面启动 vagrant ssh name(虚拟机的名) 2.虚拟机上下载mysql5.7 docker pull mysql5.7 s ...

  7. docker 使用tar安装mysql_使用docker安装mysql服务

    转载:https://www.cnblogs.com/notejava/p/7124189.html 使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker ...

  8. Docker学习三 Docker安装Mysql

    Docker安装Mysql 文章目录 Docker安装Mysql 前言 查看docker镜像 查看mysql镜像版本 下载镜像 运行mysql 前言 mysql数据库是后端开发经常用到的,而且有时候还 ...

  9. Linux 安装 docker,使用docker 安装mysql、redis、jdk、nginx

    1.安装docker 这里使用的是阿里云的CentOS 操作系统 废话不多说,直接安装 1.1.首先安装一些必要的工具 sudo yum install -y yum-utils device-map ...

最新文章

  1. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
  2. 交叉分解+Cross decomposition
  3. 获得MFC窗口其它类指针的方法
  4. HTTP-FLV直播初探-flv.js播放器使用实例
  5. 《上海市数据中心建设导则(2021版)》
  6. QCustomPlot使用手册(二)
  7. 生活中处处有joke!!
  8. could not perform addBatch
  9. 快速掌握MATLAB应用,从这一步开始
  10. C++:类对象的复制和赋值
  11. 复数幂用java程序怎么求_蓝桥杯——复数幂 (2018JavaAB组第3题)
  12. 计算机英语评价,关于计算机专业英文自我评价
  13. jqueryAjax的使用
  14. 聊聊python文件
  15. 2017年软件工程第八次作业-互评Alpha版本
  16. Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables
  17. 无人驾驶综述:国外国内发展历程
  18. Java分销商城微商城源码跨境电商介绍B2B2C系统
  19. word中全部数字、大小写字母、标点更改为新罗马字体Times News Romans
  20. 计算机组成原理(笔记)

热门文章

  1. 在VMware上安装win10
  2. 数据库系统教程(第二版何玉洁)课后数据库上机实验答案
  3. 从0开始搭建深度学习环境-Pytorch-GPU
  4. 电脑连不上网,显示网络连接配置异常
  5. python 爬虫-京东用户评论数据和用户评分
  6. [HDU 1814] Peaceful Commission
  7. 苹果手机来电归属地_苹果手机来电铃声、充电音还能这么有趣?这款神器也太炫了...
  8. 固定资产盘点的问题及解决方案,云呐如何做固定资产盘点
  9. 全景地图是什么?怎么用有什么作用!
  10. java常用文件工具类