Docker安装MySQL镜像

323 阅读1分钟

一、拉取镜像

建议在拉取镜像时,指定版本号,不然在每次执行docker restart命令时,docker都会去拉取最新的镜像,高版本可能会出现不兼容的现象,导致原有的配置失效。

# 拉取最新镜像
docker pull mysql:latest
# 拉取指定版本镜像
docker pull mysql:8.0.23

二、拷贝镜像的文件夹到本机

# 创建文件夹
sudo mkdir -p /usr/local/docker/mysql
# 授权读写权限
sudo chmod -R 777 /usr/local/docker/mysql/

如果需要修改MySQL配置,只需要去/usr/local/docker/mysql/conf下创建my.cnf文件就可以了

三、创建实例

# 执行下面命令,运行实例。
# -e MYSQL_ROOT_PASSWORD 是设置root用户密码,
# -e LANG=C.UTF-8 是设置容器内部的编码格式,避免MySQL的编码格式与容器不一致,导致中文乱码
# -e MYSQL_CHARSET 是设置数据库的默认编码格式和排序方式

docker run -d -p 3306:3306 \
--privileged=true \
-v "/usr/local/docker/mysql/data":"/var/lib/mysql" \
-v "/usr/local/docker/mysql/logs":"/var/log/mysql" \
-v "/usr/local/docker/mysql/conf":"/etc/mysql/conf.d" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e LANG=C.UTF-8 \
-e MYSQL_CHARSET=utf8mb4 \
-e MYSQL_COLLATION=utf8mb4_unicode_ci \
--name mysql mysql:8.0.23

四、设置开机自启动

# 设置当docker运行时自动启动容器
docker update mysql --restart=always
# 如果要关闭开机自动启动运行以下命令
docker update mysql --restart=no

五、进入容器登录MySQL

# 进入容器实例
docker exec -it mysql bash
# 登录MySQL
mysql -uroot -p
输入密码