docker安装mysql和redis

docker安装mysql

1、下载镜像文件

docker pull mysql:5.7(对应相应版本即可)
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:5.7

参数说明

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口

-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机

-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机

-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机

-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

MySQL 配置

vi /mydata/mysql/conf/my.cnf

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

注意:解决 MySQL

连接慢的问题

在配置文件中加入如下,并重启 mysql

mysqld

skip-name-resolve

解释:

skip-name-resolve:跳过域名解析
3、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot
4、设置 root 远程访问(服务器的话要配置安全组开放端口,虚拟机直接关闭防火墙即可)

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

flush privileges;
5、进入容器文件系统

docker exec -it mysql /bin/bash

docker 安装 redis

1、下载镜像文件

docker pull redis
2、创建实例并启动

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \

-d redis redis-server /etc/redis/redis.conf

redis 自描述文件:

https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

3、使用 redis 镜像执行 redis-cli 命令连接

docker exec -it redis redis-cli

相关推荐
就改了1 小时前
MySQL进阶——DQL语句日常优化建议(详细版!)
数据库·sql·mysql
懒大王爱吃狼3 小时前
Python + Qt Designer构建多界面GUI应用程序:Python如何调用多个界面文件
开发语言·数据库·python·qt·mysql·python基础·命令模式
厂里英才3 小时前
docker无法正常拉取镜像问题的解决
linux·docker
jay丿3 小时前
Django 集成 Redis 数据库指南
数据库·redis·django
计算机学姐3 小时前
基于Asp.net的高校迎新管理系统
vue.js·vscode·后端·mysql·sqlserver·c#·asp.net
多云的夏天3 小时前
Ubuntu 24.04-JAVA-JDBC-mysql
java·开发语言·mysql
用户90555842148054 小时前
设置SO_TIMEOUT,为什么还有大于超时阈值的请求?扒一下HotSpot源码看看
redis
大得3694 小时前
docker,centos容器开机启动程序
docker·容器·centos
白云千载尽5 小时前
docker入门篇
运维·docker·容器
最懒的菜鸟5 小时前
CentOS 系统安装 docker 以及常用插件
docker·eureka·centos