一、 docker中下载mariadb
我的安装的版本是10.1.21,(大家可以根据自己的需求制定版本)
docker pull mariadb:10.1.21
二、新建一个目录作为容器的映射目录
新建目录用来将容器的目录及数据挂载到该目录下
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下面
vim 小插曲
编辑vim发现linux中无法执行vim指令,只能下载vim插件 执行: apt-get install vim
结果出现问题: Unable to locate package vim 无法下载安装
解决:更新插件,执行后 apt-get update 重新下载vim: apt-get install vim
后记:
重新外部登录,sql成功!😁