ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Docker离线部署Mysql8.0

2022-01-05 12:37:07  阅读:358  来源: 互联网

标签:离线 cnf Mysql8.0 usr mysql mysqld Docker local docker


Docker离线部署Mysql8.0

说明:

在有网络的环境上制作Mysql8.0的镜像包,导出并上传至无网络的环境上,启动mysql即可


1.搜索Mysql镜像包

docker search mysql

2.拉取Mysql8.0镜像

说明:

如果:后不写版本号,则默认拉取最新的

docker pull mysql:8.0

查看镜像

docker images

3.创建数据目录和配置文件

3.1在宿主机创建mysql的配置文件的目录

mkdir -p /usr/local/mysql_docker/conf

3.2在配置文件目录下创建MySQL的配置文件my.cnf

touch /usr/local/mysql_docker/conf/my.cnf

3.3编辑配置文件信息

 cd /usr/local/mysql_docker/conf/
 vim my.cnf
 [client]
 # socket = /usr/local/mysql_docker/mysqld.sock
 default-character-set = utf8mb4
 [mysqld]
 # pid-file        = /var/run/mysqld/mysqld.pid
 # socket          = /var/run/mysqld/mysqld.sock
 # datadir         = /var/lib/mysql
 # socket = /usr/local/mysql_docker/mysqld.sock
 # pid-file = /usr/local/mysql_docker/mysqld.pid
 datadir = /usr/local/mysql_docker/data
 character_set_server = utf8mb4
 collation_server = utf8mb4_bin
 secure-file-priv= NULL
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 # Custom config should go here
 !includedir /etc/mysql/conf.d/​

3.4在宿主机创建mysql的数据目录

mkdir -p /usr/local/mysql_docker/data

4.创建容器并启动MySQL

docker run -d -p 13306:3306 --name mysql_docker -v /usr/local/mysql_docker/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql_docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 mysql:8.0

说明:

-d: 后台运行容器

-p :指定容器暴露的端口,映射宿主机端口号和容器端口号

--name:指定容器名字,后续可以通过名字进行容器管理

-v:挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录

-e :环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码

5.进入容器内部,解决远程连接问题

docker exec -it mysql_docker /bin/bash

5.1 连接Mysql

mysql -uroot -p

5.2 修改访问主机以及密码,设置所有主机可访问

use mysql
alter user 'root'@'%' identified with mysql_native_password by '123123';

5.3 刷新权限

flush privileges;

5.4 退出

exit

6.测试远程是否能连接成功

如下图所示:成功

7.导出镜像

docker save -o mysql8.tar mysql:8.0

8.将镜像包mysql8.tar上传至无网络的环境上,执行

docker load -i mysql8.tar

查看镜像是否导入进来

docker images

9.直接启动Mysql

docker run -d -p 13306:3306 --name mysql_docker -v /usr/local/mysql_docker/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql_docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 mysql:8.0

这样就使用docker成功离线安装了MySQL

 

标签:离线,cnf,Mysql8.0,usr,mysql,mysqld,Docker,local,docker
来源: https://www.cnblogs.com/wangt98/p/15765397.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有