我想将我的 MySQL 数据库从我的电脑复制到另一台电脑。我该怎么做?
如何使用mysqldump从一个电脑复制MySQL数据库到另一个电脑/备份数据库
我们可以使用mysqldump命令将MySQL数据库从一个计算机传输到另一个计算机。
我们需要创建数据库的转储文件才能将数据库从一个计算机转移到另一个计算机。
MySQL数据库不是可移植的数据库,即我们不能通过复制和粘贴将其从一台计算机转移到另一台计算机中。
我们可以使用以下方法来传输数据库。
从数据库创建转储文件/备份MySQL数据库:
打开命令提示符。
执行以下命令更改目录
>c: “press enter”
>cd program files/MySQL/MySQL Server 5.1/ bin “press enter”
>mysqldump -u root -p database_name > database_name.sql “press enter”
Enter password: password of MySQL
复制SQL文件,并将其粘贴到您想要传输数据库的电脑上。
2. Dumping sql file into database:-
- Open MySQL command line client command prompt.
- Execute following command to create database.
创建数据库database_name;
按“Enter”键。必须将“database_name”替换为您实际想要创建的数据库名称。
将SQL文件复制到“c:/program files/MySQL/MySQL Server 5.1/bin”位置。
*- Now open command prompt and execute following commands.*
>C: “press enter”
>cd program files/MySQL/MySQL Server5.1/bin “press enter”
>mysql –u root –p database_name < database_name.sql “press enter”
Your database is created on PC.
Now in MySQL command prompt check your database.
另外一个:1
最好且简单的方法是使用数据库工具(SQLyog)
http://www.webyog.com/product/downloads
使用此工具,您可以连接2个数据库服务器,并将A服务器上的一个数据库复制到B服务器上。
更多信息,请参见:
另外一个:2
对于名为“lbry”的数据库,请尝试以下操作:
mysqldump -u root -p lbry > dump-lbry.sql
在想要复制数据库内容的计算机上创建相同名称的数据库(例如,此处为“lbry”)
然后进行导入:
mysql -u root -p lbry < dump-lbry.sql
您可以使用MySQL WorkBench按照以下步骤进行操作:
希望这能帮到您。
mysqldump
命令创建模式和表内容的文本表示形式。然后将该文本文件复制到另一台机器上,并通过将其指定为mysql
命令的输入来读取它。4.1 在源服务器上运行mysqldump命令:这将为目标服务器构建一个MySQL可执行脚本。在此期间,MySQL服务器将排队处理查询。
4.2 将导出的文件复制到目标服务器。
4.3 清空目标服务器。
4.4 在目标服务器上执行导出文件。
A服务器(源服务器) B服务器(目标服务器)
情况1:A服务器
root@source$ mysql --defaults-file=/etc/mysql/debain.cnf
mysql>show databases;
mysql>use testdb;(The database to dump)
mysql>show tables;(To Check the tables)
mysql>^c
--现在倾倒数据库
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
要复制文件,需要在源服务器上创建一个ssh密钥。
root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
前往目标服务器
最后一步是复制debain.cnf文件的内容
root@surce$ cat /etc/mysql/debain.cnf
[client]
host = localhost
user = debain-sys-maint
password = mysecret
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debain-sys-maint
password = mysecret
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
选择全部并将此文件复制到目标服务器。
注意:在您的机器上,套接字路径可能是不同的。使用 locate 命令来查找精确路径。
情况 2. 服务器 B 删除所有数据库。
root@destination$ echo show databases | mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names | awk '{print "drop database "$1";"}'
如果此命令未删除数据库,请使用-force选项。
root@destination$ echo show databases | mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names | awk '{print "drop database "$1";"}' | mysql --defaults-file=/etc/mysql/debian.cnf -f
在目标服务器上复制ssh密钥
root@destination$ echo "将密钥粘贴至此" >> /home/ubuntu/.ssh/authorized_keys
回到源服务器,使用scp命令将备份文件移动至目标服务器
(注入文件)
root@destination$ gzip -dc /home/ubuntu/dump.sql.gz | mysql --defaults-file=/etc/mysql/debain.cnf
root@destination$ > /etc/mysql/debain.cnf
root@destination$ nano /etc/mysql/debain.cnf
root@destination$ mysql --defaults-file= /etc/mysql/debain.cnf
mysql>
我只是总结了jmail的答案:
将计算机1的数据库转换为SQL文件:
mysqldump --user <用户名> --password <数据库> > <输出文件>
例如 mysqldump --user root --password movie > movie.sql
将SQL文件转换为计算机2的数据库:
mysql --user <用户名> --password <数据库> < <输出文件>
例如 mysql --user root --password movie < movie.sql
mysqldump --databases dbname -hsource_server_ip -usource_server_userName -psource_server_passcode | mysql
-udest_server_user_name -pdest_server_user_passcode &
有三种常见的调用mysqldump的方式:
shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
如果您在db_name后没有命名任何表,或者使用--databases或--all-databases选项,则会转储整个数据库。
默认情况下,mysqldump不会转储INFORMATION_SCHEMA数据库。如果您在命令行上明确命名它,则MariaDB会转储INFORMATION_SCHEMA,尽管目前您还必须使用--skip-lock-tables选项。
要查看您的版本的mysqldump支持的选项列表,请执行mysqldump --help。
我能够按照@jmail的回答,通过此帖子恢复与我共享的备份,但我认为我可以为将来的用户提供更简洁的回答。我收到了一个扩展名为.sql的转储文件,而不是我预期的.dump扩展名。
我尝试将它放在我的项目文件夹中并进行还原,但出现了错误22,指的是访问权限。我将它移动到“c:/program files/MySQL/MySQL Server 5.1/bin”,然后通过以下方式运行:
1)在命令提示符中启动MySQL。
2)创建我想要还原到的新数据库
3)切换到该数据库
USE new_DB;
4) 运行
source c:/program files/MySQL/MySQL Server 5.1/bin/backup.sql
我不确定备份文件 backup.sql 是如何创建的,但这个方法可在我的 Windows 10 系统中用于还原。