欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

【MySQL】记录 Navicat连接 docker mysql 容器,备份docker mysql 注意事项

发布时间:2025/3/20 数据库 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【MySQL】记录 Navicat连接 docker mysql 容器,备份docker mysql 注意事项 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • Navicat连接 docker mysql 容器
    • 定时任务备份 docker mysql ,解决 备份数据库为空 问题

Navicat连接 docker mysql 容器

  • 确保 登录 用户

    root@’%’ 允许所有域名访问

  • 确保密码验证为 mysql_native_password 规则

    查看用户密码规则
    mysql> select host,user,plugin,authentication_string from mysql.user;

    登录用户更改规则:由 caching_sha2_password 改为 mysql_native_password
    mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

  • 通过 Navicat 的 SSH 模式连接

  • 输入MySQL 容器 的IP地址
    docker exec -it mysql cat /etc/hosts

遇到的问题 有
2013 lost connection to Mysql server at

定时任务备份 docker mysql ,解决 备份数据库为空 问题

  • 正确做法:
    • docker exec -i $mysql_container mysqldump $dbname --default-character-set=$mysql_charset | gzip > $backup_dir/$dbname-$backup_time.sql.gz

  • 错误命令:备份结果是空表
    • docker exec -it $mysql_container mysqldump $dbname --default-character-set=$mysql_charset | gzip > $backup_dir/$dbname-$backup_time.sql.gz
    • 解释:

      -t :分配一个伪终端
      docker exec -i (一定不要带-t)这样备份会是空表,切记。看清上边的命令介绍,docker exec -it 相当于交互打开一个伪终端执行备份操作crontab是无法执行的。

总结

以上是生活随笔为你收集整理的【MySQL】记录 Navicat连接 docker mysql 容器,备份docker mysql 注意事项的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。