mysqldump的使用简介

      有时候要对线上数据进行操作, 需要提前备份下数据。

      有时候需要将线上数据dump下来进行分析和验证。

      来看下mysqldump的使用。

      

     导出数据:mysqldump -h localhost -u root -p  -P 17538  --single-transaction --databases taoge --tables x > x1.sql

     其中taoge是db名, x是table名, x1.sql是导出文件。

 

     导入数据方式一(先创建新的db taoge1):

     mysql -h localhost -u root -p  -P 17538  --database taoge1 < x1.sql

     其中taoge1是导入的目标db名, x1.sql是待导入的文件,也就是把x1.sql中的table x导入到taoge1这个db中去。        

 

     导入数据方式二(先创建新的db taoge1):

     在mysql中进行操作, use taoge1; 然后source /home/ubuntu/x1.sql

 

 

     其他Cases:

     如果想导出taoge这个db的所有tables,  可以这么搞:

     mysqldump -h localhost -u root -p  -P 17538  --single-transaction --databases  taoge  > x1.sql

     导入这么搞:

     mysql -h localhost -u root -p  -P 17538  --database taoge1 < x1.sql    

 

     如果想导出所有dbs,可以这么搞:

     mysqldump -h localhost -u root -p  -P 17538  --single-transaction --all-databases > x1.sql

     导入这么搞(强烈不建议, 下面会有解释):

     mysql -h localhost -u root -p  -P 17538 < x1.sql     

     

 

      注意风险:

      1. 如果是导入tables到目标db中, 那么目表db中与x1.mysql对应tables会被覆盖或者新建。 强烈建议手动新建一个空的db, 如上述的新db taoge1, 然后导入。

      2. 如果是导入dbs库到目标机器中, 那么目表机器中与x1.sql对应dbs/tables会被覆盖或者新建。 强烈不建议这么做。

          

      最后一个问题,当mysql服务端位于本地时,怎么确认它是在监听哪个端口呢?

mysqldump的使用简介_第1张图片

     不多说。

 

 

你可能感兴趣的:(s2:,软件进阶,s4:,数据库,s2:,Linux杂项)