首页 > 代码库 > mysql数据库拷贝
mysql数据库拷贝
我们经常会有这样的需求,将某个服务器上的mysql数据库完整拷贝到其他机器上,比如数据库迁移。要想做到这点最简单的就是使用mysql提供的现成工具:mysqldump。
使用mysqldump的时候需要指定账号、密码、主机等信息。
例如: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表示用户名,-P 6071表示端口,-p表示密码,这里我们用命令行输入,所以此处密码是空白的。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选项就可以解决上述问题。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。