docker中安装Mariadb

一、 docker中下载mariadb

我的安装的版本是10.1.21,(大家可以根据自己的需求制定版本)
docker pull mariadb:10.1.21 
docker中安装Mariadb_第1张图片

二、新建一个目录作为容器的映射目录

新建目录用来将容器的目录及数据挂载到该目录下
mkdir -p /data/mariadb/data 

三、启动mariadb

3.1 指令含义解释

docker run
--name mariadb //容器名称
-p 3306:3306 //将容器端口映射到服务器:第一个参数是主机端口,第二个是容器端口
-e MYSQL_ROOT_PASSWORD=xxxxx //xxxxx :设置为自己的密码
-v /data/mariadb/data:/var/lib/mysql // data/mariadb/data即二步骤中新建挂载数据的目录
-d mariadb:10.1.21 //如果你的mariadb是指定版本,那这块启动时需要携带指定,否则服务器会重新下载最新版本的容器 ,如下图

3.2完整执行指令

docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxx -v /data/mariadb/data:/var/lib/mysql -d mariadb:10.1.21

四、查看是否启动成功

docker ps -a

五、进入mariadb容器内部

docker exec -it mariadb(容器名称) bash

六、外部登录mariadb

6.1 外部登录db异常

错误提示:Access denied for user 'root'@'192.168.xxx.xxx' (using password: YES)

以为是密码错误,登录控制台,通过命令进入容器,使用

mysql -uroot -proot

结果出现:Access denied for user 'root'@'localhost' (using password: YES),还是不行

6.2查资料解决

解决方法:需要到容器中修改mysql配置文件,在配置文件中新增: skip-grant-tables即可
# 进入容器
docker exec -it mariadb bash
# 进入msyql配置文件
cd /etc/mysql/  
# 修改配置文件
vim my.cnf
# 添加skip-grant-tables 进入my.cnf中mysqld下面
docker中安装Mariadb_第2张图片
vim 小插曲
编辑vim发现linux中无法执行vim指令,只能下载vim插件 执行: apt-get install vim
结果出现问题: Unable to locate package vim 无法下载安装
解决:更新插件,执行后 apt-get update 重新下载vim: apt-get install vim

后记:

重新外部登录,sql成功!

你可能感兴趣的:(IT技术,运维,docker,mariadb,运维)