Docker 安装 MySQL、Redis

1 Docker 中安装 Redis

1.1 创建目录

在硬盘上创建 redis 的数据目录:

mkdir -p /Users/yygnb/dockerMe/redis/data

为该目录添加权限:

chown 200 -R /Users/yygnb/dockerMe/redis

1.2 拉取镜像

搜索镜像:

docker search redis

搜索结果:

Docker 安装 MySQL、Redis

拉取官方镜像:

docker pull redis

1.3 启动容器

映射端口 6379 和 data 目录,启动容器:

docker run -itd -p 6379:6379 \
           -v /Users/yygnb/dockerMe/redis/data:/data \
           --restart always \
           --name redis \
           redis

1.4 查看 Redis 状态

docker ps -a | grep redis

Redis 容器运行后,可以通过 RDM 等客户端工具尝试连接。

2 Docker 中安装 MySQL

2.1 创建目录

在硬盘上分别创建 conf(配置文件目录)、data(数据文件目录)、logs(日志文件目录):

mkdir -p /Users/yygnb/dockerMe/mysql/conf /Users/yygnb/dockerMe/mysql/logs /Users/yygnb/dockerMe/mysql/data

为上面三个目录添加权限:

chown 200 -R /Users/yygnb/dockerMe/mysql

2.2 拉取镜像

docker search mysql

搜索结果:

Docker 安装 MySQL、Redis

拉取官方镜像:

docker pull mysql

2.3 创建配置文件

进入上面创建的 mysql/conf 目录下,创建配置文件 my.cnf

cd /Users/yygnb/dockerMe/mysql/conf
touch my.cnf
vi my.cnf

配置文件 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

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=10000
default-time_zone='+8:00'
character-set-client-handshake=FALSE
character_set_server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_general_ci'

Custom config should go here
!includedir /etc/mysql/conf.d/

2.4 启动容器

启动容器,指定3306 端口映射和上面的三个目录映射,同时也指定 MySQL root 账户的密码为 Mysql.123

docker run --name mysql \
  --restart=always \
  -p 3306:3306  \
  -v /Users/yygnb/dockerMe/mysql/conf/my.cnf:/etc/mysql/my.cnf \
  -v /Users/yygnb/dockerMe/mysql/data:/var/lib/mysql \
  -v /Users/yygnb/dockerMe/mysql/logs:/logs \
  --privileged=true \
  -e MYSQL_ROOT_PASSWORD=Mysql.123 \
  -d mysql:latest

2.5 查看 MySQL 状态

docker ps | grep mysql

2.6 修改 MySQL 权限

容器启动后,可以进入容器修改 MySQL 的一些权限,使得外部可以连接。

进入容器:

docker exec -it mysql /bin/bash

登录 MySQL:

mysql -u root -p

输入上面设置的密码 Mysql.123后便在命令行中进入了 MySQL。

依次执行下列 SQL 语句,修改权限:

use mysql;

update user set authentication_string='' where user='root';

alter user 'root'@'%' IDENTIFIED BY 'Mysql.123';

grant all privileges on *.* to 'root'@'%' with grant option;

flush privileges;

全部执行完毕后,可以尝试使用 MySQL Workbench 或 IDEA 或 Navicat 连接 MySQL。

MySQL 8 的 JDBC 连接串一般格式为:

jdbc:mysql://127.0.0.1:3306/db_name?useUnicode=true&characterEncoding=utf8&useSSL=true

驱动为:

com.mysql.cj.jdbc.Driver

Docker 安装 MySQL、Redis

感谢你阅读本文,如果本文给了你一点点帮助或者启发,还请三连支持一下,点赞、关注、收藏,作者会持续与大家分享更多干货

Original: https://www.cnblogs.com/youyacoder/p/16643251.html
Author: 程序员优雅哥(/同)
Title: Docker 安装 MySQL、Redis

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578497/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux基础学习(二)

    显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 [root@ct7 ~]# ls /etc | grep -E “^[0-9][a-z]*”…

    Linux 2023年6月8日
    082
  • Greenplum数据库基本操作命令大全-完善ing

    Greenplum数据库基本操作命令大全 select * from pg_stat_activity; datid –16388 datname –hfamlgpdbs &a…

    Linux 2023年6月11日
    090
  • 网络设备配置–6、通过RIP协议配置动态路由

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    Linux 2023年6月8日
    093
  • Golang 实现 Redis(10): 本地原子性事务

    为了支持多个命令的原子性执行 Redis 提供了事务机制。 Redis 官方文档中称事务带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行…

    Linux 2023年5月28日
    091
  • LVS负载均衡

    LVS负载均衡 LVS负载均衡 一、LVS是什么 二、LVS的作用 三、lvs的三种工作模式 1.基于NAT的LVS模式负载均衡 2.基于TUN模式的LVS负载均衡 3.LVS(D…

    Linux 2023年6月6日
    087
  • 每周一个linux命令(tar)

    基础环境 tar命令介绍 tar命令是linux非常使用频率非常高的一个命令,比如:离线软件包的解压缩、将一个目录打包备份、将一个压缩包解压到一个指定的目录。tar命令主要用来将一…

    Linux 2023年6月8日
    087
  • CentOS7 源码安装Nginx及Nginx基本管理设置

    CentOS7 安装 参考文档 CentOS7最小安装后初始化安装工具 1:yum install net-tools 参考文档 2:源码安装wget 参考文档 或者执行 yum …

    Linux 2023年5月27日
    0110
  • JDK的环境变量

    jdk下载并配置下载jdk下图是自己资源管理器中jdk的安装路径,双击然后next就好,不需要改什么配置 手里没有安装包的,下载地址在这里 :https://www.oracle….

    Linux 2023年6月13日
    058
  • python 练习题:计算的BMI指数,并根据BMI指数条件选择

    小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻18.5-25:正常25-28:过重28-3…

    Linux 2023年6月8日
    0120
  • MySQL-连接数据库

    连接数据库在操作数据库之前,需要连接它,输入命令:mysql -u用户名 -p密码。 在你自己本机上连接数据库用上述方式是可以的,不过在平台上连接数据库还需要加上一句-h127.0…

    Linux 2023年6月8日
    083
  • Linux 基于flock命令实现多进程并发读写文件控制

    需求描述 实际项目中,需要在Linux下通过 shell脚本并发读写同一个文件,但是希望同一时刻,只有一个进程可以在读、写目标文件。 解决方案 使用 flock命令。 flock …

    Linux 2023年5月27日
    092
  • Docker私有仓库部署

    修改daemon.json 重启docker服务 镜像上传至私有仓库 标记此镜像为私有仓库的镜像 再次启动私服容器 Original: https://www.cnblogs.co…

    Linux 2023年6月8日
    062
  • Git的常见命令

    Git 一、git环境安装 1.初始化本地仓库: git init 2.将本地仓库跟远程仓库建立连接:git remote add name path ​ git clone pa…

    Linux 2023年6月7日
    074
  • Docker如何镜像加速

    原文链接:https://www.zhoubotong.site/post/69.html在使用Docker 下载镜像时,如果不配置镜像加速,下载镜像会比较慢,因为国内从 Dock…

    Linux 2023年6月6日
    0129
  • 【socket】在Linux下socket温度上报–客户端

    socket通信客户端 socket函数 * 代码实现 socket函数 int socket(int domain,int type,int protocol); 参数: dom…

    Linux 2023年6月13日
    0101
  • css或html中添加空格

    posted @2022-08-03 16:31 七窍玲珑心 阅读(8 ) 评论() 编辑 Original: https://www.cnblogs.com/lzh93/p/16…

    Linux 2023年6月13日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球