Docker部署mysql并实现远程连接(navicat)和数据导出

1. docker 内拉取 mysql3.6
拉取指定版本mysql
2. 运行mysql

使用命令docker run -p 3306:3306 --name mysql -v /dfxmysql/mysql/conf:/etc/mysql/conf.d -v /dfxmysql/mysql/logs:/logs -v /dfxmysql/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6运行mysql容器。

命令详解:

  • -p 13306:3306:将主机的3306端口映射到docker容器的3306端口
  • --name mysql:运行服务名字
  • -v /dfxmysql/mysql/conf:/etc/mysql/conf.d:将主机/dfxmysql/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
  • -v /dfxmysql/mysql/logs:/logs:将主机/dfxmysql/mysql目录下的 logs 目录挂载到容器的 /logs
  • -v /dfxmysql/mysql/data:/var/lib/mysql :将主机/dfxmysql/mysql目录下的data目录挂载到容器的 /var/lib/mysql
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码
  • -d mysql:5.6 : 后台程序运行mysql5.6
mysql成功运行
3. 进入mysql容器,与其交互,建库建表
与mysql交互

建库建表插入数据
4. 本地连接docker内的mysql
连接

查看插入的数据
5. docker内的mysql数据持久化

执行指令docker exec [myql服务容器ID] sh -c 'exec mysqldump --all-databases -uroot -p"123456" ' > /dfxmysql/all-databases.sql。该指令把docker中的mysql的所有数据库导出到落脚点/dfxmysql/all-databases.sql文件里。

数据导出

使用vim查看导出文件

以上,就完整的实现了从部署=>连接=>数据持久化的过程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。