码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Docker安装并使用Mysql(可用详细)


    Docker安装并使用Mysql

    • 一、Docker安装Mysql
      • 1、启动Docker
      • 2、查询mysql
      • 3、安装mysql
        • 1.默认拉取最新版本mysql
        • 2.拉取指定版本mysql_5.7
      • 4、查看镜像
      • 5、本地创建挂载目录-v
    • 二、Docker启动\使用Mysql
      • 1、启动mysql容器(创建镜像实例)
        • 1.指定版本
        • 2.最新版本
        • 3.命令含义:容器=完整Linux
      • 2、在var/lib/docker/containers/下查看容器
      • 3、查看mysql进程获取name——mysql名称
      • 4、进入mysql容器—并登陆mysql
      • 5、开启远程访问权限
      • 6、查看docker日志
      • 7、常用命令
        • 查看进程
        • 关闭docker中mysql容器
      • 8、 重启docker中mysql重启
        • 重启docker
        • 关闭docker
      • 9、移除原来的container ID(就是长长的那串数字)
      • 10、退出容器
    • 三、Mysql设置
      • 1、进入容器:
      • 2、定位容器位置:
      • 3、退出容器:
      • 4、找到配置文件夹:一级一级的进入
      • 5、创建配置文件:cnf
      • 6、重启容器
      • 7、进入文件夹
    • 四、Mysql外部连接

    一个容器=完整Linux
    
    • 1

    一、Docker安装Mysql

    1、启动Docker

    启动:sudo systemctl start docker
    		service docker start
    停止:systemctl stop docker
    重启:systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4

    2、查询mysql

    docker search mysql
    
    • 1

    3、安装mysql

    1.默认拉取最新版本mysql

    docker pull mysql
    
    • 1

    2.拉取指定版本mysql_5.7

    sudo docker pull mysql:5.7
    
    • 1

    4、查看镜像

    docker images
    
    • 1

    5、本地创建挂载目录-v

    二、Docker启动\使用Mysql

    1、启动mysql容器(创建镜像实例)

    1.指定版本

    sudo docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.最新版本

    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:latest
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.命令含义:容器=完整Linux

    		docker run:在docker中启动一个容器实例
    		-d:该容器在后台运行
    		-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
    		--name mysql:容器运行后的名称
    		-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
    		-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
    		-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
    		-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
    		mysql:5.7:需要运行的容器名称以及版本号
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、在var/lib/docker/containers/下查看容器

    cd /var/lib/docker/containers/
    
    • 1

    3、查看mysql进程获取name——mysql名称

    docker ps -a
    
    • 1

    4、进入mysql容器—并登陆mysql

    格式:docker exec -it   mysql名称   bash
    
    进入mysql容器操作台命令:docker exec -it mysql bash
    
    
    
    登录mysql命令:mysql -u root -p
    
    		输入密码:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5、开启远程访问权限

    命令:use mysql;
    
    命令:select host,user from user;
    
    命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    
    命令:flush privileges;
    
    
    把root用户的密码改成 mysql_native_password 模式,即可远程连接
    
    
    
    		#创建一个账号-admin,用来进行远程访问;
    		CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
    		 
    		 
    		 赋予所有权限给之前创建的账号:admin
    		GRANT ALL ON *.* TO 'admin'@'%';
    		 
    		 
    		 确认使用密码{123456}登录此账号{admin}
    		 密码尽量复杂,安全性更高。
    		ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    		 
    		 
    		 刷新权限
    		FLUSH PRIVILEGES;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    6、查看docker日志

    命令:docker logs -f --tail 10 a4dac74d48f7
    
    • 1

    7、常用命令

    查看进程

    命令:docker ps -a
    
    • 1

    关闭docker中mysql容器

    命令:docker stop mysqlserver
    
    • 1

    8、 重启docker中mysql重启

    重启docker

    命令:systemctl restart docker
    
    • 1

    关闭docker

    命令:systemctl stop docker
    
    • 1

    9、移除原来的container ID(就是长长的那串数字)

    docker rm + container ID 
    
    • 1

    10、退出容器

    三、Mysql设置

    1、进入容器:

    命令:	docker exec -it mysql bash
    
    命令:mysql -u root -p
    
    • 1
    • 2
    • 3

    2、定位容器位置:

    命令:whereis mysql
    显示:mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
    
    • 1
    • 2

    3、退出容器:

    exit
    
    • 1

    4、找到配置文件夹:一级一级的进入

    命令:cd /mydata/
    命令:cd mysql/
    命令:cd conf/
    
    • 1
    • 2
    • 3

    5、创建配置文件:cnf

    命令:vi my. cnf
    命令:i
    
    粘贴内容:
    	[client]
    	default-character-set=utf8
    	[mysql]
    	default-character-set=utf8
    	[mysqld]
    	init_connect=' SET collation_connection = utf8_unicode_ci '
    	init_connect=' SET NAMES utf8 '
    	character-set-server=utf8
    	collation-server=utf8_unicode_ci 
    	skip-character-set-client-handshake 
    	skip-name-resolve
    	
    按键:ESC
    命令::wq
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    6、重启容器

    命令:docker restart mysql
    命令:docker exec -it mysql /bin/bash
    
    • 1
    • 2

    7、进入文件夹

    目录:cd /etc/mysql/
    展示:ls
    查看文件:cat my. cnf
    
    • 1
    • 2
    • 3

    四、Mysql外部连接

    	IP:虚拟机IP地址——云主机地址
    	端口:
    	名称:
    	密码:
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    关于 DellEMC 安装系统时找不到系统硬盘的问题
    Redis Cluster集群管理手册
    订单 延后自动关闭,五种方案优雅搞定!
    损失函数L1Loss/L2Loss/SmoothL1Loss
    2亿用户,B站API网关如何架构?
    sqli通关笔记
    kafka入门(一):kafka消息发送与消费
    代码随想录算法训练营完结篇 ★★★
    day2_redis缓存
    【MongoDB】MongoDB数据库的基础使用,特殊情况以及Mongoose的安装和创建流程(含有Mongoose固定版本安装)
  • 原文地址:https://blog.csdn.net/qq_25482375/article/details/126250746
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号