mysqldump -P 3010 -h 130.51.2.24 -uroot -proot zplatdb > backup.sql
恢复到我本机,由于我本机没有设置密码,密码是空的,-p那里不知道怎么填
mysql –u root –p*** zplatdb
其实这样就可以了:
mysql –u root zplatdb
另外,还可以用source命令,更简单,但是时间比mysqldump要慢不少:
首先登录mysql,
mysql>use zplatdb
mysql>source c:\backup.sql
注意,备份文件放在C盘,如果报错,尝试把斜杠去掉,c:backup.sql。
这样恢复后,会发现没有恢复函数和存储过程!
注意:备份文件backup.sql其实都是sql脚本,可以直接打开看的,你可以搜索一下,里面全是table的语句,并没有function!
原因出在备份时的问题。如果要备份函数需要这样:
mysqldump -P 3010 -h 130.51.2.24 -uroot -proot zplatdb -R > backup.sql
-R表示同时备份表和函数存储过程。
source是没有问题的,可以同样恢复函数和存储过程。
帮助:
mysqldump –help
参考:
http://www.bitsCN.com/database/201211/168571.html
除了命令,也可使用工具。比如我的客户端使用SQLyog。里面一般都有导入导出。
有工具,肯定用工具方便很多,直接选一下,不需要记住繁琐的参数。
仔细比较一下,命令和工具输出的sql是不太一样,工具更全面,比如没有这个db会自动创建,而命令里一般是没有的。
<code class="language-sql hljs ">CREATE DATABASE /*!32312 IF NOT EXISTS*/`zplatdb` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `zplatdb`;</code>
但是命令里有详细的数据库版本信息,这个SQLyog里没有:
<code class="language-sql hljs "><code class="language-sql hljs ">-- MySQL dump 10.14 Distrib 5.5.43-MariaDB, for Linux (x86_64)</code></code>