传输数据库的另一计算机关闭]
题
我有一个 mysql
数据库中充满了建立和运行一个 Windows 计算机,是否有任何工具来传输数据库中的另一台计算机(运行 Ubuntu)?
否则我就写 script
采取的所有数据的基础上进入 SQL
和 插入 它的另一台计算机。只是在试图保存一段时间:)
谢谢你们所有人。
解决方案
您说的已经的工具存在:mysqldump的
有转储出到SQL,然后可以复制到另一台机器,并重新加载。
例如:
在源:
mysqldump -u username -p databasename > dumpfile.sql
然后使用ftp / rsync的/无论将文件移动到目标计算机,并在那里创建一个空数据库,导入并运行:
mysql -u username -p databasename < dumpfile.sql
您还需要设置权限对可能已经转移以及任何用户,因为他们没有在数据库内举行。
另外,您也可以将文件从MySQL数据目录复制 - 但mysqldump的是最简单的/最可靠的方法。
。值得注意的是,表名称可能成为当它们不是对原情况下,一个系统上敏感。这取决于在两端的配置 - 特别的情况下的灵敏度(或其它)文件系统的
其他提示
,而不是由一个出口数据库之一,则可以导出它们全都可以用单个命令。然后将它们导入。 例如
mysqldump -u username -p --all-databases > c:\alldbs.sql
PS-最大的好处是,你不会失去的用户权限。
在磁盘上的文件的MySQL的所有版本之间100%兼容。你只需要注意文件名的情况下,因为它的事项在Unix上,而它只能在Windows上有时做。
要记住你把一个副本之前停止MySQL的。 MyISAM数据文件是好拿的副本,同时运行,但是InnoDB的文件是不是真的安全做到这一点,Windows的MySQL的默认值InnoDB的文件。
使用mysqldump时,特别是在视窗小心使用的字符集。我更喜欢明确设置我的数据库使用的字符集和使用,而不是使用>操作,以免东西变得错位了 - 结果文件=文件。
从MySQL文档: http://dev.mysql.com/doc/refman/5.0 /en/copying-databases.html
shell> mysqldump --quick db_name | gzip > db_name.gz
传输文件包含数据库内容到目标机器,有运行这些命令:
shell> mysqladmin create db_name
shell> gunzip < db_name.gz | mysql db_name
你可以做一个备使用任何gui工具,如Mysql管理员(http://dev.mysql.com/downloads/gui-tools/ 在窗户,才能安装mysql-管理上Ubuntu)或头文件(http://www.phpmyadmin.net/home_page/index.php 在窗户,才能安装头文件上Ubuntu),然后再恢复它在其他的计算机。
mysqldump的应该正确倾倒出来,并保存字符集的数据库中的任何东西。最好是移动到相同版本的MySQL,如果你不想的问题。
通过mysqldump的生成的文件不是一个文本文件,尽管外表,不要使用Notepad.exe等编辑它,否则你会遇到麻烦而告终。
由第三方GUI工具,尤其是产生的phpmyadmin转储,通常是不准确的,因此不一定能正确地恢复。
我经常使用此一衬垫的一些变化到一个数据库通过网络复制发现自己。
mysqldump --opt --compress --user=username database | mysql --user=username2 --password=p2 --host=hostB -D database -C database
这本来我读到这里:
使用新的MySQL工作台(GUI工具),可以轻松导出数据库,并将其导入到您要迁移的数据库。