Docker下安装mysql
第一,保证先安装docker并配置阿里镜像,可参考教程https://blog.csdn.net/lianweiyu1998/article/details/108698329
第二,直接上教程
1、安装mysql镜像源
docker安装镜像,可直接在官网查找镜像https://hub.docker.com/
这边是安装mysql版本8.0.21
docker pull mysql:8.0.21
查看docker已安装镜像源命令
docker images
接下来就运行安装命令,建议直接挂载映射,可直接修改配置文件,先新建映射文件夹。
mkdir -p /mydata/mysql/logs
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf #mysql映射配置文件夹
vim /mydata/mysql/conf/my.cnf #新建mysql配置文件夹
my.cnf配置文件
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
skip-character-set-client-handshake
skip-name-resolve
2、运行mysql命令
–name 是值容器名字
-p 是指对应的端口号
-v 前面是docker外面的文件夹,:后面是docker内对应的文件夹
-e 是指mysql的新建后的密码
-d 则为前面docker安装后镜像源的名字以及对应的版本
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/logs:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.21
查看docker运行命令
docker ps
查看docker已安装的命令
docker ps -a
能运行到这一步,一般都是没什么问题的人,接下来的这些是给那些有问题的人,就比如我。
这里附上一个小东西,因为有一些是没有挂载目录,如果要修改docker容器的mysql中配置文件,可先进入docker容器内部
docker exce -it mysql /bin/bash
# 进入对应的文件 /etc/mysql/my.cnf
cd /etc/mysql
# 因为docker容器没有vi,所以要安装一下
apt-get update
apt-get install vim
# 然后就可以修改my.cnf
vi my.cnf
这里再提一个,若出现刚安装完,然后docker ps查不出东西,则可通过以下命令查看问题
docker ps -a
docker logs mysql #这里是对应的名字
最后,再附上一个错误提示,因为我安装的是8.0.21,会出现一种情况是/var/lib/mysql-files少了这个对应的文件夹。所以在解决这个问题可参照下面命令执行
docker stop mysql #停止对应的镜像
docker rm mysql #删除已运行的容器,也可对应容器的id
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
-v /mydata/mysql/logs:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d nacos/nacos-mysql:8.0.21
docker rmi -f mysql #这个是卸载镜像源,如果不想卸载你安装的镜像源,可无视