Docker运行的MySQL,如何快速导入数据?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gxb2260/article/details/82715507

       之前导入数据都是用的数据库连接工具自带的导入功能,有时候导入数据需要两个小时,简直没办法忍受。后来有了一个更快的方式导入数据,把他记录下来,希望大家不再忍受导入数据的煎熬。。。。

       1、备份数据库表结构,暂时还没有遇到特别有效的方法,我都是用show create table your_table_name,然后复制到一个文件中,把文件命名为ddl_bak.sql。为了安全起见,还可以在每个建表语句前面添加drop  table your_table_name , create database  your_data_base ,use your_data_base 等。

       2、把数据库中的表数据导出为insert语句,保存为dml_bak.sql。

       3、把1和2中的两个文件保存到服务器的某个路径下面,比如/bak/mysql/sqls

      4、查看MySQL的容器长ID,执行的命令是docker inspect -f {{.ID}} mysql。之前自己备份不成功是因为自己直接用了容器的短ID。执行docker ps |grep  mysql  返回的那个是短ID。真是被自己的智障打败了

    5、执行docker exec -it mysql bash ,进入docker 的环境中,穿件一个文件夹,用来放即将要放的sql 文件。比如叫/bak/mysql/sqls

      6、执行exit,退出到linux环境中,执行docker cp  服务器路径 长ID:/目标文件夹 ,在本文中要执行的命令就是: docker cp /bak/mysql/sqls/dml_bak.sql 长ID:/bak/mysql/sqls/docker_dml_bak.sql。       

      7、重新进入docker的MySQL,docker exec -it mysql bash。

     8、接下来开始真正的备份数据,mysql -uUserName -pPwd,然后执行source /bak/mysql/sqls/docker_dml_bak.sql。

总结:这个备份过程每一步都很简单,很清晰,终于不需要用数据库连接工具的一条条的插入数据了。有两点导致自己一直使用之前的低效备份方式。1、不知道mysql source 命令,2、自己的docker 太菜。

猜你喜欢

转载自blog.csdn.net/gxb2260/article/details/82715507
今日推荐