我有一个表有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
非常感谢你的帮助
感谢您的回复。我也尝试了mysqldump。但是,它也产生了112MB的sql文件,其中只包含了表中一半的数据。我需要看到整个。所以我应该改变我猜的转储大小。我看着mysqldump的选项,看不到这样的开关 – chas
我不认为你应该改变任何设置来转储大型数据库。也许通过运行这个命令来确保你的数据库正常:mysqlcheck -Aao --auto-repair –