Centos 7.8下使用 Docker 安装 MySQL 8
【摘要】 Centos 7.8下使用 Docker 安装 MySQL 8
开发环境
- Windows/MacOS
- Navicat Premium 11.2.7及以上
服务器环境
- Centos 7.8
- Docker version 19.03.8
- MySQL 8.0.26
使用 Docker 安装 MySQL 8
拉取官方镜像(我们这里选择 8.0.26,如果不写后面的版本号则会自动拉取最新版):
[root@vm-server ~]# docker pull mysql:8.0.26
8.0.26: Pulling from library/mysql
b4d181a07f80: Pull complete
a462b60610f5: Pull complete
578fafb77ab8: Pull complete
524046006037: Pull complete
d0cbe54c8855: Pull complete
aa18e05cc46d: Pull complete
fd6f649b1d0a: Pull complete
2a97d48c2fdc: Pull complete
30f0c7db48fc: Pull complete
f5dda8df049e: Pull complete
671b83fd7448: Pull complete
5d9cc55fa997: Pull complete
Digest: sha256:18d8d109aa64673c78aebfb845b929cfdac97a553332f4310f4de8d67ceb03d2
Status: Downloaded newer image for mysql:8.0.26
docker.io/library/mysql:8.0.26
启动镜像:
docker run -p 3306:3306 --name mysql_8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.26
启动成功后,进入容器内部拷贝配置文件,到宿主主机:
mkdir -p /mydata/mysql_8/conf
docker cp mysql_8:/etc/mysql /mydata/mysql_8/conf/
拷贝容器的 /etc/mysql
目录到 主机目录 /mydata/mysql_8/conf/
删除 mysql_8 容器,重新创建容器:
[root@vm-server mysql]# docker stop mysql_8
mysql_8
[root@vm-server mysql]# docker rm mysql_8
mysql_8
启动 mysql_8 ,挂载配置文件,数据持久化到宿主主机
docker run \
-p 3306 :3306 \
--name mysql_8 \
--privileged=true \
--restart unless-stopped \
-v /mydata/mysql_8/config/mysql:/etc/mysql \
-v /mydata/mysql_8/logs:/logs \
-v /mydata/mysql_8/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=root@123 \
-d mysql:8.0.26
参数说明:
--privileged=true
:挂载文件权限设置--restart unless-stopped
:设置开机后自动重启容器-p 3306:3306
:将容器的 3306 端口映射到主机的 3306 端口-v /mydata/mysql_8/conf:/etc/mysql
:将配置文件夹挂在到主机-v /mydata/mysql_8/logs:/logs
:将日志文件夹挂载到主机-v /mydata/mysql_8/data:/var/lib/mysql/
:将数据文件夹挂载到主机-v /etc/localtime:/etc/localtime
:容器时区与宿主机同步-e MYSQL_ROOT_PASSWORD=root@123
:初始化 root 用户的密码-d mysql:8.0.26
:后台启动
[root@vm-server mysql_8]# docker run \
> -p 3308:3306 \
> --name mysql_8 \
> --privileged=true \
> --restart unless-stopped \
> -v /mydata/mysql_8/config/mysql:/etc/mysql \
> -v /mydata/mysql_8/logs:/logs \
> -v /mydata/mysql_8/data:/var/lib/mysql \
> -v /etc/localtime:/etc/localtime \
> -e MYSQL_ROOT_PASSWORD=root@123 \
> -d mysql:8.0.26
63b31b06efaefa7d6a780cf73197bfbe72a13f583b47907eeaca693f8cbe6ccc
进入 docker 本地连接 MySQL 客户端:
[root@vm-server mysql_8]#docker exec -it mysql_8 bash
root@63b31b06efae:/# mysql -uroot -proot@123
设置远程访问账号,并授权远程连接:
CREATE USER 'zuozewei'@'%' IDENTIFIED WITH mysql_native_password BY 'zuozewei';
GRANT ALL PRIVILEGES ON *.* TO 'zuozewei'@'%';
使用 Navicat 远程连接 MySQL:
最后,新建数据库并初始化数据。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)