2011-10-22 58 views
0

我有一个表有38.406.168行,并根据phpmyadmin 4.5GB的大小。我想看看表格的最后一行。不幸的是我不能使用select * from ... limit 38.406.166,1甚至我不能使用select count(*) from ...函数。如何从MySQL导出4.5 GB表?

我在wamp服务器中更改了my.ini,但仍然发现mysql服务器在尝试执行其中一个查询时消失了错误。 BTW;我甚至无法设置ID的索引来使这些过程更快。

我最后的尝试是导出表来查看最后一行。但是,它只显示了123MB的文件。

我该怎么办?请帮帮我。计算机的特点是2.93 GHz的,3.50GB 这里是我的my.ini文件:

# The MySQL server 
[wampmysqld] 
port  = 3306 
socket  = /tmp/mysql.sock 
skip-locking 
key_buffer = 384M 
max_allowed_packet = 2000M 
table_cache = 4096 
sort_buffer_size = 2000M 
net_buffer_length = 8K 
read_buffer_size = 2000M 
read_rnd_buffer_size = 2000M 
myisam_sort_buffer_size = 2000M 
basedir=c:/wamp/bin/mysql/mysql5.1.36 
log-error=c:/wamp/logs/mysql.log 
datadir=c:/wamp/bin/mysql/mysql5.1.36/data 
(.. these parts are deleted, since there is nothing to set as value) 
# Uncomment the following if you are using InnoDB tables 
#innodb_data_home_dir = C:\mysql\data/ 
#innodb_data_file_path = ibdata1:10M:autoextend 
#innodb_log_group_home_dir = C:\mysql\data/ 
#innodb_log_arch_dir = C:\mysql\data/ 
# You can set .._buffer_pool_size up to 50 - 80 % 
# of RAM but beware of setting memory usage too high 
#innodb_buffer_pool_size = 384M 
#innodb_additional_mem_pool_size = 20M 
# Set .._log_file_size to 25 % of buffer pool size 
#innodb_log_file_size = 10M 
#innodb_log_buffer_size = 64M 
#innodb_flush_log_at_trx_commit = 1 
#innodb_lock_wait_timeout = 180 

[mysqldump] 
quick 
max_allowed_packet = 160M 

非常感谢你的帮助

回答

0

您将要使用mysqldump命令来做到这一点。这里是我在Linux中所做的,但我认为它会转化为Windows(我看到你正在运行WAMP)。

mysqldump --opt --force -Q --user=[your_user] -p [database_name] > dump.sql 

您可能需要更改目录到mysqldump的文件位于:

CD C:\路径\到\ mysql的\ BIN

+0

感谢您的回复。我也尝试了mysqldump。但是,它也产生了112MB的sql文件,其中只包含了表中一半的数据。我需要看到整个。所以我应该改变我猜的转储大小。我看着mysqldump的选项,看不到这样的开关 – chas

+0

我不认为你应该改变任何设置来转储大型数据库。也许通过运行这个命令来确保你的数据库正常:mysqlcheck -Aao --auto-repair –

1

我尝试了很多东西并最终与那些2工作:

  1. 只是通过mysql的内部主slash镜像数据库VE-功能(尝试谷歌,你会发现好的教程)到一个简单的备份服务器(如果他们有ssh访问最便宜的托管的软件包将工作)

  2. 尝试http://www.mysqldumper.net/,复制&拆分大型数据库为100MB的最佳工具-部分。这个简单的开源工具完成了所有“专业”备份脚本无法做到的事情。