命令如下 :
mysqldump -h '119.11.10.15' -ufromuser -pfrompassword --opt --compress fromdatabase --skip-lock-tables | mysql -h localhost -ulocaluser -plocalpassword localdatabase
解释:
119.11.10.15 远程服务器名称
fromuser 远程数据库登录名
frompassword 远程数据库登录密码
fromdatabase远程数据库名(即:复制的源)
localhost 本地数据库名称
localuser 本地数据库登录名
localpassword 本地数据库登录密码
localdatabase 本地(即:复制的目的)
sql解释:
mysqldump 是mysql的一个专门用于拷贝操作的命令
–opt 操作的意思
–compress 压缩要传输的数据
–skip-lock 忽略锁住的表(加上这句能防止当表有外键时的报错)
-tables 某数据库所有表
-h 服务器名称
-u 用户名(*后面无空格,直接加用户名)
-p 密码(*后面无空格,直接加密码,这是必须的)
注意:
-u、-p的后面没有空格,直接加用户名和密码!!!
另外不重复地把旧表复制到新表的命令:
(不会覆盖原有内容,会叠加在后面)
insert into table1 select * from table2 where not exists(select * from table1 where table1.user_id=table2.user_id and newtb.字段2=oldtb.字段2....);
PS:若id auto_increment+primary key无法插入,则在phpadmin下,把正表和副本的id去掉,复制,再把id加上.数据太多的时候必须在终端下移动.
添加新评论