我有一个表有38.406.168行,并且根据phpmyadmin 4.5GB的大小。我想看看表格的最后一行。很遗憾,我无法使用select * from ... limit 38.406.166,1
,甚至无法使用select count(*) from ...
功能。
我在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 :(得分:1)
我尝试了很多东西,结果是那两个工作:
只需通过mysql的内部主从功能镜像数据库(尝试谷歌,你会找到很好的教程)到一个简单的备份服务器上(如果他们有ssh访问,大多数便宜的主机包都可以工作)
试试http://www.mysqldumper.net/,这是复制和发布的最佳工具。将大型数据库分成100mb部分。这个简单的开源工具完成了“专业”备份脚本无法完成的所有工作。
答案 1 :(得分:0)
您将需要使用mysqldump命令来执行此操作。这是我在linux中所做的,但我认为它将转换为Windows(我看到你正在运行WAMP)。
mysqldump --opt --force -Q --user=[your_user] -p [database_name] > dump.sql
您可能需要将目录更改为mysqldump文件所在的位置:
cd c:\ path \ to \ mysql \ bin