MySQL导出数据总结

 由于现在做的项目安全性要求比较高,所以生产环境配置了一主两备的服务器,安全性测试的时候,需要比较主服务器和备服务器上的数据是否一致,也就是有没有丢失的情况,需要把服务器上的数据分别导出比较。

服务器环境:redhat5.x
数据库:MySQL5.x

第一种:

mysqldump -uusername -ppassowrd --compact -t databasename tablename > filename

参数介绍:
username : 用户名
passowrd : 密码
compact : 取消导出内容中的注释部分
t : 不导出建表语句
databasename : 数据库名称
tablename : 表名称(如果没有此参数,则导出指定数据库中全部表)


此方法导出的数据中包含insert into 关键字,并且是一行显示,不能做排序。 如果中间有一处不同,不容易查找。还有如果需要每一张表导出一个文件,需每张表写一个对应得语句。



第二种:

mysqldump -uusername -ppassowrd --compact -t -T /opt databasename tablename
参数介绍:
username : 用户名
passowrd : 密码
compact : 取消导出内容中的注释部分
t : 不导出建表语句
T : 以txt的文档格式导出数据
/opt : 导出文件保存路径
databasename : 数据库名称
tablename : 表名称(如果没有此参数,则导出指定数据库中全部表)


这种方法和第一种大致相同,不过这样导出的文件为:不用指定文件名称,文件名称为表名,格式为txt,如果没有t和compact参数,则会同时导出和txt相同名称的sql文件。txt文件中是数据,sql文件中是建表语句等信息。比第一种简单的多。

第三种:

mysql -uusername -ppassowrd -Ddatabasename -e"select * from user" | sort > filename
参数介绍:
username : 用户名
passowrd : 密码
D : 数据库名称
e : 要执行的语句

你可能感兴趣的:(mysql,数据库,服务器,redhat,insert,sql)