主页 M

Mysql复制数据库及数据,数据库复制

2022-06-24 网页编程网 网页编程网

1.场景

将data数据库的数据以及表结构复制到newdata数据库,比如新建一个测试数据库。

2.步骤

2.1创建新的数据库newdata

#mysql -u root -p123456
mysql>CREATE DATABASE 'newdata' DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
mysql>exit;

注意,是撇号不是引号,键盘esc下方。

2.2mysqldump及mysql的命令组合复制

#mysqldump data -u root -p123456 --add-drop-table | mysql newdata -u root -p123456

注意,在终端输入命令,-p中的密码是没有空格的。复制时间百万条数据,约复制61秒。

2.3其他

同一台MySQL服务器上复制数据库的方法。若要复制到远程MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。

#mysqldump data -u root -p123456 --add-drop-table | mysql -h 192.168.1.22 newdata -u root -p123456

3mysqldump参数说明

--all-databases, -A

导出全部数据库。

mysqldump -uroot -p --all-databases

--all-tablespaces, -Y

导出全部表空间。

mysqldump -uroot -p --all-databases --all-tablespaces

--no-tablespaces, -y

不导出任何表空间信息。

mysqldump -uroot -p --all-databases --no-tablespaces

--add-drop-database

每个数据库创建之前添加drop数据库语句。

mysqldump -uroot -p --all-databases --add-drop-database

--add-drop-table

每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

mysqldump -uroot -p --all-databases(默认添加drop语句)

mysqldump -uroot -p --all-databases –skip-add-drop-table(取消drop语句)

--add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项)

mysqldump -uroot -p --all-databases(默认添加LOCK语句)

mysqldump -uroot -p --all-databases –skip-add-locks(取消LOCK语句)

阅读原文
阅读 2437
123 显示电脑版