快速导出导入mysql命令
mysqldump -u root -p -e --max_allowed_packet=1048576 --net_buffer_length=16384 msiptv>c:\thedump.sql
问题:在使用mysql过程中备份数据,一般都是被分成sql语句文本,但mysqldump命令默认是非常机械地处理语句的组织。导致重新导入的时候效率太低。比如10万条数据就要执行10万次的sql语句,耗时太多。
原理:
-e --max_allowed_packet=1048576 --net_buffer_length=16384
通过上述的参数,设置后的结果是,每次把多个语句,作为一个整体执行,表现在语句上是,
sql1,sql2,sql3,,,sqln;sql1,sql2,sql3,,,sqln;请注意中间的分号,分号之间是多个语句。
这样实际上时间大概为于原时间/分号内的语句数。
关于这个还要理解mysql执行sql语句的内在机制,才能对这种效率差异理解清楚。
相关文档:
A Practical Look at the MySQL Query Cache
http://dev.mysql.com/tech-resources/articles/mysql-query-cache.html
数据库缓存策略:
(1)缓存经常被使用的数据
(2)缓存经常执行的SQL和存储过程代码
(3)缓存数据库元数据信息,包括:对象结构缓存、安全信息等
mysql引擎所使用的缓存:
(1)myisam:key b ......
最初的jbpm.hibernate.cfg.xml中,对MySQL的方言配置成了org.hibernate.dialect.MySQLDialect,发布流程的时候遇到下述错误:
Cannot delete or update a parent row: a foreign key constraint fails
Could not synchronize database state with session
将MySQL方言修改为org.hibernate.dialect.MySQLInnoDBDialect问 ......
在menzhi007的blog里看到非常有意思的东西:http://hi.baidu.com/menzhi007/blog/item/c2e98551a18754848c54301c.html
在mysql手册里:
http://www.phpchina.com/manual/mysql/functions.html#comparison-operators
MySQL按照以下规则进行数值比较:
若有一个或两个参数为 NULL,除非NULL-safe <=> 等算符,则比 ......
今天遇到要导出数据库中表的数据。下面这个就可以搞定。。
#导出指定的表 #导出命令 -u用户名 -p密码 -h主机IP地址 数据库名 表名1 表名2 > 导出文件.sql
mysqldump -uroot -proot -h192.168.0.88 ok_db oktable1 oktable2 > ok_db.sql
另外在更改mysql密码时候,网上有些命令不对:
我用如下:set password=pas ......