您的位置:首页 > 数据库 > MySQL

MySQL:将远程服务器的数据库拷到本地/复制他人数据库

2016-09-19 17:13 501 查看
这本来是很久很久之前学习的笔记,一直以txt形式记录在电脑上,最近发现还是有必要写出来,方便蜜汁失忆的自己经常回顾

完整命令:

mysqldump -h '114.212.111.123' -uTHATUSER -pTHATPWD --opt --compress THATDB --skip-lock-tables | mysql -h localhost -uMYUSER -pMYPWD MYDB


解释:

114.212.111.123 远程服务器名称

THATUSER 远程数据库登录名

THATPWD 远程数据库登录密码

THATDB远程数据库名(即:复制的源)

localhost 本地数据库名称

MYUSER 本地数据库登录名

MYUSER 本地数据库登录密码

MYDB 本地(即:复制的目的)

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加上.数据太多的时候必须在终端下移动.

参考:

http://www.shangxueba.com/jingyan/1942037.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql