我的安装的版本是10.1.21,(大家可以根据自己的需求制定版本)
docker pull mariadb:10.1.21
新建目录用来将容器的目录及数据挂载到该目录下
mkdir -p /data/mariadb/data
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是指定版本,那这块启动时需要携带指定,否则服务器会重新下载最新版本的容器 ,如下图
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
docker exec -it mariadb(容器名称) bash
错误提示:Access denied for user 'root'@'192.168.xxx.xxx' (using password: YES)
以为是密码错误,登录控制台,通过命令进入容器,使用
mysql -uroot -proot
结果出现:Access denied for user 'root'@'localhost' (using password: YES),还是不行
解决方法:需要到容器中修改mysql配置文件,在配置文件中新增: skip-grant-tables即可
# 进入容器
docker exec -it mariadb bash
# 进入msyql配置文件
cd /etc/mysql/
# 修改配置文件
vim my.cnf
# 添加skip-grant-tables 进入my.cnf中mysqld下面
编辑vim发现linux中无法执行vim指令,只能下载vim插件 执行: apt-get install vim
结果出现问题: Unable to locate package vim 无法下载安装
解决:更新插件,执行后 apt-get update 重新下载vim: apt-get install vim
重新外部登录,sql成功!