Docker通过挂载安装mysql
一、安装
mkdir -p ./docker/mysql
cd docker/
cd mysql/
mkdir conf
mkdir data
mkdir logs
mkdir mysql-files
cd conf
vim my.cnf
[mysqld]
user=mysql
docker pull mysql
docker run -e MYSQL_ROOT_PASSWORD=KMSD2016064 -d -p 3306:3306 --name mysql01 mysql
docker run -e MYSQL_ROOT_PASSWORD=KMSD2016064 -d -p 3306:3306 -v ~/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v ~/docker/mysql/data:/var/lib/mysql -v ~/docker/mysql/logs:/logs -v ~/docker/mysql/mysql-files:/var/lib/mysql-files --name mysql01 mysql
二、修改默认字符集并创建用户
docke exec -it mysql01 bash
mysql -uroot -p
修改默认字符集
show variables like '%char%'
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
vim mycnf
#insert
[mysqld]
user=mysql
character-set-server=utf8 [client]
default-character-set=utf8 [mysql]
default-character-set=utf8
mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
使用Navicat访问,由于使用的是mysql最新版本,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,加密方式变了
alter user 'root'@'%' identified by 'KMSD2016064' password expire never; 改变加密方式
alter user 'root'@'%' identified with mysql_native_password by 'KMSD2016064'; 更新用户密码
flush privileges;
正常情况下我们不会把root暴露出去,所以需要创建新的用户
create user 'jesen'@'%' identified by 'KMSD2016064';
grant all privileges on *.* to 'jesen'@'%';
alter user 'jesen'@'%' identified with mysql_native_password by 'KMSD2016064';
三、官方参考
字符集编码和创建用户密码也可以在docker run 的时候指定,具体可参考 https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/docker-mysql-more-topics.html:
docker run -d -p 3306:3306 -e MYSQL_USER="test" -e MYSQL_PASSWORD="password" -e MYSQL_ROOT_PASSWORD="password" --name [Name] [ImageName] --character-set-server=utf8 --collation-server=utf8_general_ci
Docker通过挂载安装mysql的更多相关文章
- docker学习4-docker安装mysql环境
前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...
- docker - 容器里安装mysql
在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...
- Docker容器手动安装mysql(国内镜像)
Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...
- Docker学习之安装mysql
1.从Docker检索mysql镜像 指令: docker search mysql 2.镜像下载 指令: docker pull mysql:5.7.19 3.查看本地镜像列表 指令: docker ...
- 使用docker安装mysql服务
使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker pull hub.c.163.com/library/mysql:5.7 2 重命名镜像名 dock ...
- docker 静默安装mysql
debconf-set-selections命令 1.功能作用 在debconf database中插入默认值 2.位置 /usr/bin/debconf-set-selections 3.格式用法 ...
- Docker安装MySQL 8.0并挂载数据及配置文件
安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...
- docker安装mysql挂载外部配置和数据目录
从docker hub上可以找到mysql外挂配置和数据目录的一些文档说明 https://hub.docker.com/_/mysql 从该文档中可以了解到,mysql的默认配置为/etc/mysq ...
- docker 安装mysql 并将文件挂载到本地
首先准备好挂载的文件路径 执行mysql创建以及挂载的命令(这里还可以使用-e环境变量来创建新用户MYSQL_USER,MYSQL_PASSWORD) docker run -d -p : --res ...
随机推荐
- [React] Create a Query Parameter Modal Route with React Router
Routes are some times better served as a modal. If you have a modal (like a login modal) that needs ...
- Win10远程桌面 报错:CredSSP加密Oracle修正……
解决方法: 运行 gpedit.msc 本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击. 参考: https://blog.c ...
- 004_linuxC++之_函数的重载
(一)源码下载 (一) 函数的重载:同一个命名函数,通过传入参数的不同,调用不一样的函数 上面程序的运行结果: (二)函数只能通过参数的不一样重载函数,不能通过返回参数的不一样重载函数 运行结果报错 ...
- 富文本编辑器word
tinymce是很优秀的一款富文本编辑器,可以去官网下载.https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用. http ...
- js中对象的输出顺序
前言:最近用for-in时,看到说for-in不能保证遍历的对象顺序,对此有些疑问,于是便研究了下,本文做简要说明. 现象 let obj = { a: 'a', b: 'b', 1: 1, 2: 2 ...
- bzoj 3545
bzoj 3555 离线版本 线段树合并 做法是将询问和边权都排序 给每个点建一棵线段树 然后边建mst边回答询问 每次合并两个连通块的时候 要将两个连通块的线段树合并起来 线段树合并部分code i ...
- easyui复选框实现单选框
$(':checkbox[name=primary_key_flag]').each(function(){ $(this).click(function(){ if(this.checked){ $ ...
- 微信小程序之--(与唯品会来场粉红色的邂逅 ???)
Welcome to miaomiaoXiong's segmentfault 微信小程序之--(与唯品会来场粉红色的邂逅 ???) 买买买,虽然双十二刚过,可是唯品会的折扣却是依然火爆.一打开页面, ...
- 20182332 实验一《Linux基础与Java开发环境》实验报告
20182332 实验一<Linux基础与Java开发环境>实验报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 盛国榕 学号:20182332 实验教师:王志强 ...
- idea 使用maven 下载源码包
方式1:全量下载源码包 方式二:下载单个源码包 随便找个源码可以看到文件上有download (标识下载源码包) choose sources表示选择那个版本的源码包