我想使用ssh导出一个mysql数据库表,所以如何才能使用这个。
答案 0 :(得分:3)
你是什么意思“用SSH导出?” SSH是一种安全地与服务器通信的协议。 SCP是一种使用SSH在主机之间复制文件的方法,所以我认为你的意思是。
mysqldump db_name tbl_name >dumpfile
scp dumpfile 127.0.0.1:.
如果您不喜欢mysqldump,您可以随时从您喜欢的MySQL客户端(或PHP程序,或仅命令行mysql
)中选择INTO OUTFILE。之后,将文件传输到其他主机,并运行LOAD DATA INFILE以加载表。你也必须重新创建表格。
答案 1 :(得分:1)
如果转储量非常大,您可能希望在后台运行它,以确保失去与SSH的连接不会导致问题。
另外,如果它是一个实时服务器并且不想太多地影响它的性能,你可以使用nice
nohup nice mysqldump -uuser -ppassword [other flags] database tablename > dumpfile.sql
然后,您可以使用SSH文件传输将其下载到您的计算机,或使用scp将其发送到另一台服务器:
nohup nice scp dumpfile.sql user@IP:/path/ &
然后你可以把它加载到mysql
nohup nice mysql -uuser -ppassword database < dumpfile.sql &
**如果需要花费很长时间并且丢失连接可能会出现问题,请使用nohup。 nohup导致在后台运行
**使用nice降低进程的优先级,即。如果是实时服务器,性能很重要。你应该知道不能阻止你的mysql被一个需要很长时间才能完成的查询放慢速度,所以要小心。
答案 2 :(得分:1)
mysqldump -uuser -ppass dbname tablename >dump_table.sql