【Docker】 安装 mysql
目录
- 前言
- 准备
- 拉取镜像
- 创建但不运行容器
- 运行容器
- 命令行登录mysql
- 修改密码
- mysql 随 docker 自动启动
- 设置mysql数据编码格式为utf8mb4
- 设置mysql表名不区分大小写
- 重启mysql并查看设置
- 远程访问授权
- 参考
前言
- CentOS 7.9
- Docker Version: 1.13.1
准备
docker 已安装。
选择合适的mysql镜像(mysql:5.7.31)。
拉取镜像
shell> docker pull mysql:5.7.31
Trying to pull repository docker.io/library/mysql ...
5.7.31: Pulling from docker.io/library/mysql
bb79b6b2107f: Pull complete
49e22f6fb9f7: Pull complete
842b1255668c: Pull complete
9f48d1f43000: Pull complete
c693f0615bce: Pull complete
8a621b9dbed2: Pull complete
0807d32aef13: Pull complete
6d2fc69dfa35: Pull complete
56153548dd2c: Pull complete
3bb6ba940303: Pull complete
3e1888da91a7: Pull complete
Digest: sha256:b3dc8d10307ab7b9ca1a7981b1601a67e176408be618fc4216d137be37dae10b
Status: Downloaded newer image for docker.io/mysql:5.7.31
shell> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest feb5d9fea6a5 6 weeks ago 13.3 kB
docker.io/mysql 5.7.31 42cdba9f1b08 12 months ago 448 MB
创建但不运行容器
shell> docker create --restart=always --name mysql1 \
-v /data/mysql1/data:/var/lib/mysql \
-v /data/mysql1/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7.31
--restart=always
: 自动运行-v /data/mysql1/data:/var/lib/mysql
: 将宿主机的/data/mysql1/data
挂载成容器的/var/lib/mysql
-v /data/mysql1/conf.d:/etc/mysql/conf.d
: 将宿主机的/data/mysql1/conf.d
挂载成容器的/etc/mysql/conf.d
运行容器
shell> docker start mysql1
命令行登录mysql
shell> docker exec -it mysql1 bash
root@a6f9e4a700a3:/# mysql -uroot -pmy-secret-pw
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.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> exit
Bye
或者:
shell> docker exec -it mysql1 mysql -uroot -pmy-secret-pw
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.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> exit
Bye
修改密码
mysql> set password=password('123456');
mysql 随 docker 自动启动
创建容器未添加--restart=always
参数时,可以使用docker update
添加。
shell> docker update --restart=always mysql1
- 每次docker启动时,mysql也会自动启动
设置mysql数据编码格式为utf8mb4
shell> vim /data/mysql1/conf.d/my.cnf
# 打开文件(没有该文件时,创建它)后,添加下面的配置。注意对应节点
[client]
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
设置mysql表名不区分大小写
shell> vim /data/mysql1/conf.d/my.cnf
-----------------------------
# 打开文件后,添加下面的配置。注意对应节点
[mysqld]
lower_case_table_names = 1
重启mysql并查看设置
shell> docker exec -it mysql1 mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.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> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
10 rows in set (0.01 sec)mysql> show variables like '%table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.00 sec)mysql> exit
Bye
远程访问授权
参考这里。
参考
https://hub.docker.com/_/mysql
【Docker】 安装 mysql相关推荐
- Centos-安装Docker并使用Docker安装mysql遇到的问题以及解决方法
为什么安装Docker?? ----不知道啊,说是用其安装mysql简单 step1: 首先百度,查找安装的教程,哎,找到了: 如下: https://www.jianshu.com/p/9c9 ...
- 虚拟机中docker安装mysql远程无法访问解决方法
#docker安装mysql docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d ...
- [转]Docker学习之四:使用docker安装mysql
本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...
- docker安装mysql并配置,Docker安装MySql-挂载外部数据和配置
在上一篇中<在CentOS7中使用Docker安装MySql>中介绍了怎样在Docker中安装Mysql,但存在两个问题: 1.用户密码和字符集等的设置,需要安装完MySql后,进入到My ...
- Docker 安装MySQL以及外部访问
Docker 安装MySQL以及外部访问 (1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下. (2)使用docker pul ...
- 史上最详细Docker安装Mysql 带每一步详图及解释 并教你Docker 打印容器日志!!!相信值得你的阅读!!!
众所周知,如果我们要把项目放在服务器上运行,那么数据存储就是必需的,就用这篇小小文章记录一下我的经历吧. MySQL是一个关系型数据库管理系统,也是是最流行的关系型数据库管理系统之一,在 WEB 应用 ...
- docker安装mysql远程不能访问,虚拟机中docker安装mysql远程无法访问解决方法
#docker安装mysql docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d ...
- macos docker 安装mysql,mac 中docker安装mysql的图文教程
今天在docker中安装了mysql ,是自己打的docker包. 首先新建dockerfile 内容如下: from mysql:latest 新建dockerfile后执行build命令: 构建镜 ...
- docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
为了方便本地测试项目,为了方便开启新的环境,为了方便部署,打算本地利用Docker安装Mysql和Redis. 搭建Springboot项目,编写Dockerfile,打包构建镜像. 简单使用dock ...
- docker 安装mysql 实战文档_docker 安装mysql
PassJava (佳必过) 项目全套学习教程连载中,关注公众号第一时间获取. docker 安装mysql 1.下载镜像 sudo docker pull mysql:5.7 ubuntu@VM-0 ...
最新文章
- 如何设计一个良好的接口?
- P3812 【模板】线性基
- 2013年最值得我们学习的网页作品示例【系列六】
- 2048游戏c语言linux简易代码,C语言实现2048游戏代码
- Spring : Spring 深入理解lombok
- php日志数据统计,PHP统计Nginx日志的User Agent数据
- 蓝桥杯2016年第七届C++省赛B组第二题-生日蜡烛
- 黑马程序员——C语言基础教程笔记
- ISO50001认证咨询,企业申请ISO50001认证前要先进行哪些初始能源评审
- 使用pyinstaller打包python源代码生成exe程序
- Java动态数组ArrayList
- 计算机考研复试经典考题汇总(一次刷新世界观)
- 对话乔会君丨两年服务1700家企业,洪泰智造如何锻造下一个独角兽?
- meltdown linux 补丁,谈谈CentOS发布内核安全补丁:修复Meltdown和Spectre漏洞
- Neural Turing Machines-NTM系列
- 计算机工程与应用期刊模板,计算机工程与应用 论文模板
- 让旧Mac免费获得 iWork 套件的秘籍
- 高三老师给大一学生的一封信
- [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题...
- office2016选中、编辑突然变慢