赞
踩
有时候要对线上数据进行操作, 需要提前备份下数据。
有时候需要将线上数据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服务端位于本地时,怎么确认它是在监听哪个端口呢?
不多说。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。