【5.0】Docker部署MySQL

【一】引入

  • 根据您提供的内容,我们可以看出在使用Docker运行MySQL容器时,如果没有进行目录映射,配置文件和表数据都将保存在容器内部。
  • 当删除容器后,这些数据也会丢失。
  • 为了确保数据的持久化并避免数据丢失的情况,您可以进行目录映射来将数据保存在宿主机上。

【二】操作步骤

【1】做目录映射:

  • 在宿主机上创建用于存储MySQL数据、配置文件的目录。
mkdir /home/mysql mkdir /home/mysql/conf.d mkdir /home/mysql/data/

【2】配置文件my.cnf:

  • 在创建的目录/home/mysql中创建配置文件my.cnf,指定MySQL的配置参数。
  • 以下是一个示例:
vim /home/mysql/my.cnf [client] default-character-set=utf8 [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000

【3】运行MySQL容器,并进行目录映射:

  • 使用-v参数指定目录映射,将宿主机上的目录映射到MySQL容器内部对应的路径。
  • 以下是一个示例:
docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql mysql:5.7 -e MYSQL_ROOT_PASSWORD=123456

【4】创建库、表和插入数据:

  • 运行MySQL容器后,可以连接到MySQL并执行相应的SQL语句来创建数据库、表,并插入数据。

【5】停止和删除容器:

  • 如果需要停止或删除MySQL容器,可以使用以下命令:
docker stop mysql docker rm mysql
  • 注意,这不会影响已经进行目录映射的数据,数据仍然保存在宿主机的对应目录中。

【6】重新运行容器:

  • 当需要重新运行MySQL容器时,只需再次运行带有目录映射参数的docker run命令:
docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql mysql:5.7 -e MYSQL_ROOT_PASSWORD=123456
  • 此时,之前的数据将会重新加载到容器内部。

__EOF__

本文作者Chimengmeng
本文链接https://www.cnblogs.com/dream-ze/p/17665045.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Chimengmeng  阅读(122)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示