码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库拷贝

时间:2017-06-23 19:39:29      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:got   password   div   问题:   数据   个数   工作   输出   content   

    我们常常会有这种需求,将某个server上的mysql数据库完整复制到其它机器上,比方数据库迁移。要想做到这点最简单的就是使用mysql提供的现成工具:mysqldump。
    使用mysqldump的时候须要指定账号、password、主机等信息。
    比如:mysqldump -h 10.10.8.12 -u backup -P 6071  -p backup_db >backup_db.mysql
    以上命令把10.10.8.12 主机的backup_db 数据库保存在backup_db.mysql文件中。-u backup表示username。-P 6071表示port。-p表示password,这里我们用命令行输入,所以此处password是空白的。

backup_db是我们要复制的数据库名字。运行完这条命令后我们会得到backup_db.mysql文件。这个文件实际就是mysqldump输出的重定向到的文件。

这个文件中边保存了复制数据库须要的mysql语句。

之后我们把这个文件拷贝到我们要拷贝到的目标机器上,然后进入mysql命令行。进入一个数据库,再运行source backup_db.mysql就可以完毕数据库的复制。

运行完后你会发现事实上复制数据库的过程就是运行了一些列sql语句,mysqldump做的工作就是把数据库的内容以sql语句的形式导出出来。

    另一点须要注意的是,mysqldump的时候你有可能会遇上以下问题:
    mysqldump: Got error: 1044: Access denied for user ‘backup‘@‘10.10.4.42‘ to database ‘backup‘ when using LOCK TABLES
    出现这个问题是因为mysqldump企图对整个表上锁而引起的。仅仅须要加上--skip-lock-tables选项就能够解决上述问题。

mysql数据库拷贝

标签:got   password   div   问题:   数据   个数   工作   输出   content   

原文地址:http://www.cnblogs.com/jzdwajue/p/7071178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!