Docker安装Mysql(MariaDb)

@TOC


前言

Docker中安装MarialDb

一、安装Docker

#安装docker
yum install docker 
#查看版本
docker version
#设置为服务
systemctl  start docker.service
systemctl  enable docker.service

二、安装MarialDb

1. 正常流程

#拉取镜像
docker search mariadb
docker pull mariadb
docker images
#创建挂载目录
mkdir -p /data/database/marialdb
#创建容器(确保本地映射目录是空的)(密码含特殊字符会导致登录不了 提示报错Access denied for user 'root'@'localhost' (using passwor))
docker run --name offflinesteammariadb -p 9201:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/database/mariadb:/var/lib/mysql -d mariadb
#进入容器
docker exec -ti containerId bash
#登录mysql:提示报错Access denied for user 'root'@'localhost' (using passwor)
mysql -u root -p

2.异常流程

进入Mysql.cnf路径(docker中是docker.cnf)
cd /etc/mysql/conf.d

安装vim
apt-get update
apt-get install vim

修改配置文件
skip-grant-tables

添加权限
flush privileges;
GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “root”;
flush privileges;

总结

1、我做了一件什么事?

  1. 在Docker中,安装MariaDb

2、这件事有什么用?

  1. 以后在需要安装MaraiDb时,直接执行上述脚本即可。可以考虑写一个dockerfile

3、出现了哪些问题?是否解决?是否明确了问题出现的根本原因?

  1. 在刚开始创建时,使用了一个复杂的密码,包含一些特殊字符,如@,$,^等字符,导致容器创建成功后,进入后却无法登录,提示如:Access denied for user ‘root’@‘localhost’ (using passwor)。后将密码改为不带特殊字符的密码,进入容器后就登录成功了。
  2. 第一个创建时,使用了特殊字符,导致无法登录成功,后面我删除了容器,改为了简单密码,却也没法登录。后面发现容器我挂载的同一个目录,删除容器时,没有删除目录里的文件。

4、学到了哪些知识点?

  1. MariaDb密码不能包含特殊字符,否则会提示Access denied for user ‘root’@‘localhost’ (using passwor)
  2. MariaDb用Docker创建时,如果指定了挂载目录,需要确保挂载目录是空的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值