docker 安装mysql 并将文件挂载到本地
- 首先准备好挂载的文件路径
- 执行mysql创建以及挂载的命令(这里还可以使用-e环境变量来创建新用户MYSQL_USER,MYSQL_PASSWORD)
docker run -d -p : --restart always -e MYSQL_ROOT-PASSWORD="root12345" --name db-mysql -v /docker/mysql/config/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql mysql/mysql-server
- 执行上面的语句可能会发现以下问题(1注意检查挂载的路径和文件是否创建2.注意检查挂载的文件是否为文件格式而不是目录)
- 过程碰到的问题报错如下:大致意思是您挂载的文件是个cnf目录文件而您挂载的目标文件是个cnf文件。
docker: Error response from daemon: OCI runtime create failed: container_linux.go:: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/docker/mysql/config/my.cnf\\\" to rootfs \\\"/var/lib/docker/overlay2/a745e213e304a1aa8d7b237b6193b95f8b376472196bf3a0646922491aef141b/merged\\\" at \\\"/var/lib/docker/overlay2/a745e213e304a1aa8d7b237b6193b95f8b376472196bf3a0646922491aef141b/merged/etc/my.cnf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
- 解决方案
rm -rf my.cnf/
vim my.cnf
#insert
[mysqld]
user=mysql
然后运行步骤二语句 修改字符集
修改my.cnf 文件的内容达到修改字符集的目的
vim my.cnf
#insert
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#退出restart mysql
docker restart db-mysql
#查看修改的字符集
#首先进入bash,这里需要注意如果进入bash的时候root密码没有生效则需要去docker logs db-mysql 中查看创建的默认密码
然后凭借默认密码进入到mysql环境。进入环境第一件事就是修改root用户的密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(docker exec -it db-mysql mysql -uroot -proot12345)
docker exec -it db-mysql bash
mysql -uroot -p
#输入用户名密码
use mysql
#查看用户权限
select user,host from user
#查看字符集
show variables like '%char%'- 创建新用户
mysql> CREATE USER 'cyao'@'localhost' IDENTIFIED BY 'pwd123456';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'cyao'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123456';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'
-> WITH GRANT OPTION; 关于挂载有一下几个地方需要注意
.挂载之前my.cnf 必须要配置一个默认用户[mysqld] user=mysql
.挂载之前本地/docker/mysql/data这个路径下不能有其他文件或者文件夹
docker 安装mysql 并将文件挂载到本地的更多相关文章
- Docker安装MySQL 8.0并挂载数据及配置文件
安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...
- Docker 安装mysql容器数据卷挂载到宿主机
环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- docker 安装mysql mongo
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...
- Docker安装MySql完整教程、实操
docker:官网 docker:镜像官网: 镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...
- Docker安装mysql镜像并进行主从配置
Docker安装mysql镜像并进行主从配置 1.下载需要的mysql版本镜像 docker pull mysql:5.6 2.启动mysql服务实例(基本启动) #启动主mysql docker r ...
- docker初识-docker安装、基于docker安装mysql及tomcat、基本命令
一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...
- 安装docker及使用docker安装其他软件(手动挂载数据卷)
中秋明月,豪门有,贫家也有,极慰人心 Linux安装docker 可以参考官方的安装文档 centos安装docker: https://docs.docker.com/engine/install/ ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
随机推荐
- git 与gitlab
1.gitlab 创建project ,命名为test2 2.git push项目 git remote add ******* mkdir test1 cd test1 git init nano ...
- controller 有两种写法,讨论一下两种写法的区别:
controller 有两种写法,讨论一下两种写法的区别: 写法 1: app.controller('myCtrl', function($scope, $location) { $scope.my ...
- 【HDU4034】Graph
题目大意:给定一个图的最短路,求原图中至少存在多少条边. 题解:利用 Floyd 的性质,枚举边 d[i][j],若存在一个不是两端点的点,使得 d[i][j]=d[i][k]+d[k][j] 成立, ...
- ZROI 19.08.01 生成函数方法
写在前面:由于我数学基础不好,加上缺乏生成函数知识,所以这一下午我都处在掉线和非掉线的叠加态.而且我写\(\LaTeX\)很慢,所以笔记相当混乱而且不全面.说白了就是我太菜了听不懂. 1.一般生成函数 ...
- percon server5.7的配置版本
percon server5.7的配置版本 [root@tidb-db-backup mysql_3306]# cat my_3306.cnf # my_3306.cnf [client] port ...
- ftp CentOS7安装
1.安装ftp服务yum install vsftpd 2.修改ftp配置文件(/etc/vsftpd/vsftpd.conf)ascii_upload_enable=YESascii_downloa ...
- 8.django单独执行文件
import os import django # 导入django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'noju.settings')d ...
- Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )
题意 : 给出数 x (1 ≤ x ≤ 10^12 ),要求求出所有满足 1 ≤ n ≤ x 的 n 有多少个是满足 n*a^n = b ( mod p ) 分析 : 首先 x 的范围太大了,所以使 ...
- [NOIP2012] 同余方程(第三次考试大整理)
1265. [NOIP2012] 同余方程 输入文件:mod.in 输出文件:mod.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 求关于 x 的同余方程 ax ...
- 页面禁止刷新处理Js实现
document.onkeydown = function(e) { e = window.event || e; var k = e.keyCode; //屏蔽ctrl+R,F5键,ctrl+F5键 ...