文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Centos环境 使用docker 部署MySQL 8.X详细版本

2023-09-04 08:51

关注

文章目录

安装docker

快速部署Docker

配置docker 阿里镜像加速

阿里云容器镜像服务ACR

在这里插入图片描述

配置镜像源

在这里插入图片描述
在上方选择自己的系统版本,我使用的CentOS 然后将下面
在这里插入图片描述
执行命令逐一复制到你的服务器上面运行即可

安装部署MySQL

拉取MySQL镜像

我这里使用的是mysql:8.0.21版本,如果有版本要求,就按照你自己的版本要求

docker pull mysql:8.0.21

查看一下镜像包

docker images

在这里插入图片描述

创建挂载文件

在docker中宿主和容器之间可以通过挂载文件夹或者文件的形式实现容器和宿主的配置统一

mkdir /docker/mysql/confmkdir /docker/mysql/logsmkdir /docker/mysql/data

测试部署

这里为啥叫测试部署,就是我们先启动一个测试,主要是我们需要MySQL的一些配置文件,与其我们自己从网站瞎吉儿找,还不如用它自己,改吧改吧就OK了

部署MySQL

docker run -p 3306:3306 --name test1 -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.21

进入容器将它的mysql配置同步给宿主机

# 前面是容器的目录# 后面是宿主机的目录(也就是上面创建挂载目录)docker cp  test1:/etc/mysql /docker/mysql/conf# 拷贝完成后,我们看一下cd /dockers/mysql/conf/mysql/conf.d

在这里插入图片描述
这个.cnf 文件就是我们需要的,MySQL很多配置都是在这里配置的

删除test1测试容器

目的已经达到了,这个test1容器已经不需要了

# 先停止容器docker stop test1# 再删除容器,主意执行顺序docker rm test1

正式部署MySQL

执行命令

docker run  -itd  -p 13306:3306 --name MySQL13306 -e character-set-server=utf8mb4 --privileged=true  --restart unless-stopped  -v /docker/mysql/conf/mysql:/etc/mysql  -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime  -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.21 --lower_case_table_names=1

命令解释

查看正式部署的容器状态

docker ps -a

在这里插入图片描述

配置远程连接

你也可以使用root连接,但是不推荐

# 进入容器docker exec -it MySQL13306 /bin/bash# 登录MySQL,密码就是你启动容器里面设置的密码mysql -uroot -p# 切换到mysql库下面use mysql;# 创建远程连接用户CREATE USER 'remote_user_1'@'%' IDENTIFIED BY 'Changeme_123';# 对远程用户进行授权GRANT ALL ON *.* TO 'remote_user_1'@'%';# 刷新权限FLUSH PRIVILEGES;# 退出mysql 控制台exit;# 退出容器ctrl+P+Q

字符集以及关闭跳过密码验证等其他配置

注意这里是你的宿主机服务器了,不是容器里面了

vim /dockers/mysql/conf/mysql/conf.d/mysql.cnf

将如下内容复制到到这个cnf文件中,注意[mysql]这个先删除后覆盖替换
文件上面的注释内容你可以不用看了,看了还要百度翻译贼麻烦

[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]# 跳过密码登录# #skip-grant-tables# #bind-address = 127.0.0.1init_connect='SET collation_connection = utf8mb4_general_ci'init_connect='SET NAMES utf8mb4'character-set-server=utf8mb4collation-server=utf8mb4_general_ciskip-character-set-client-handshakelower_case_table_names=1

同步宿主机的cnf文件给容器

docker cp /docker/mysql/conf/mysql/conf.d/mysql.cnf MySQL13306 :/etc/mysql/conf.d

重启MySQL容器

docker restart MySQL13306 

测试远程连接

在这里插入图片描述
打完收工!!!

来源地址:https://blog.csdn.net/weixin_44922964/article/details/131249652

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯