mysql 进阶 (十三) 命令行导出导入数据库
一、命令行导出数据库
进入 MySQL 目录下的 bin 文件夹:cd MySQL 中到 bin 文件夹的目录
如我输入的命令行:
cd D:\Program Files\MySQL\MySQL Server 5.5\bin
(或者直接将 windows 的环境变量 path 中添加该目录)
导出数据库:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
如我输入的命令行:
如果导出单张表的话在数据库名后面输入表名即可
mysql 导出数据库一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
3、会看到文件 news.sql 自动生成到 bin 文件下
导出时,遇到上面的问题。
解决措施:加个参数-P 3308
(mysql 服务端口)即可解决问题。
二、命令行导入数据库
将要导入的.sql 文件移至 bin 文件下,这样的路径比较方便
同上面导出的第 1 步
进入 MySQL:
mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p
(输入同样后会让你输入 MySQL 的密码)
在 MySQL-Front 中新建你要建的数据库,这时是空数据库,如新建一个名为 news 的目标数据库
输入:
mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
导入文件:
mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql;
注:由于导入数据库的规模、数据结构不同,导入所需时间会有较大差异。我导入的数据库有 123M,花费将近 5 个小时。期间以为机器宕掉了,仔细观察命令行界面发现,导入是在正常进行的。导入成功后的界面如下:
注:导入单张数据表时,使用类似 use lmapp lm_area 、source lm_area.sql 的 sql 语句。原数据表可存在,导入后的数据表会覆盖同名已存在的数据表。
MySQL 备份和还原,都是利用 mysqldump、mysql 和 source 命令来完成的。
三、Win32 下 MySQL 的备份与还原
3.1 备份
开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入 bin 文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename
”导出数据库到文件,如mysqldump -u root -p voice>voice.sql
,然后输入密码即可开始导出。
3.2 还原
进入 MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。
四、Linux 下 MySQL 的备份与还原
4.1 备份
输入密码即可。
4.2 还原
法一:
进入 MySQL 的控制台"mysql>",同 1.2 还原。
法二:
输入密码即可。
五、延伸阅读 不靠谱的 FLOAT 数据类型
在设计数据表时,突然发现原来 FLOAT 原来是很不靠谱的,建议大家换成DOUBLE
类型,
原因分析:在 mysql 手册中讲到,在MySQL
中的所有计算都是使用双精度完成的,使用float
(单精度)会有误差,出现意想不到的结果。
在查询数据时,MySQL
使用 64 位十进制数值的精度执行DECIMAL
操作,float(5.54) = 5.54
如果出现精度丢失,这个是不等的。这样,本来我们应该能查到的数据就会莫名其妙的消失。
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/808fe20dc9faf49c4b6d3ff17】。文章转载请联系作者。
评论