2011-10-24 3 views
1

문제가 있습니다. 내 서버 (eAthena) 중 하나에서 오픈 소스 게임 소프트웨어를 실행하고 선호하는 데이터베이스로 MySQL을 사용합니다. 그러나 때마다 나는 mysqldump는이mysqldump가 서버를 응답하지 않는다

mysqldump -u backup -p*** eathena > test-backup.sql

가 서버 매달려 끝 실행합니다. eAthena 소프트웨어가 중단되고 완료되면 종료됩니다. 이 문제가 크기 문제입니까? 데이터베이스가 4.7GB 인 것을 보는 것으로, 나는 무엇을 비난해야할지 모르겠다. 내 mysqldump 대체 몇 가지 유형이 있습니까?

CentOS 6 64 비트, MySQL 버전 5.1.52를 실행 중입니다.

+0

을 시도하기 전에 MySQL 서버를 다시 시작하는 것을 잊지 마세요, 4.7GB가 있어야 할 (긴) 깜짝-의-AN-눈 그것에 . 테이블 유형은 무엇입니까? 만약 그들이 myisam이라면, 당신은'check table'과'repair tables'로 부패를 검사해볼 수 있습니다. –

답변

2

mysql 설치에 메모리가 부족한 것 같습니다. /etc/my.cnf 또는 /etc/mysql/my.cnf (또는 CentOS에있는 모든 위치)를 확인하십시오.

table_cache 및 key_buffer_size를 늘리십시오. MySQL 설치와 함께 제공되는 conf의 예제를 참조하십시오 : my-huge.cnf’, my-large.cnf ', my-medium.cnf’, and my-small.cnf'. 이와 confs 비교 :

[mysqld] 
# Reduced to 200 as memory will not be enough for 500 connections. 
# memory=key_buffer+sort_buffer_size+read_buffer_size)*max_connections 
# which is now: 64 + (1 + 1) * 200 = 464 MB 
# max_connections = approx. MaxClients setting in httpd.conf file 
# Default set to 100. 
max_connections = 100 
max_allowed_packet = 1M 
max_connect_errors = 10 
key_buffer = 512M # 128M for 1GB, 256M for 2GB, 512 for 4GB 
join_buffer_size = 4M # 1M for 1GB, 2M for 2GB, 4M for 4GB 
read_buffer_size = 4M # 1M for 1GB, 2M for 2GB, 4M for 4GB 
sort_buffer_size = 2M # 1M for 1GB, 2M for 2GB, 4M for 4GB 
# myisam_sort_buffer_size used for ALTER, OPTIMIZE, REPAIR TABLE commands. 
myisam_sort_buffer_size = 32M 
# Checked opened tables and adjusted accordingly after running for a while. 
table_cache = 1024 
# thread_concurrency = 2 * (no. of CPU) 
thread_concurrency=4 
thread_cache_size = 286 
# log slow queries is a must. Many queries that take more than 2 seconds. 
# If so, then your tables need enhancement. 
log_slow_queries=/var/log/mysqld.slow.log 
long_query_time=2 
# Reduced wait_timeout to prevent idle clients holding connections. 
wait_timeout = 10 
connect_timeout = 10 
interactive_timeout = 10 
# Enable it for vast improvement and it may be all you need to tweak. 
query_cache_limit = 1M 
query_cache_size = 128M 
query_cache_type = 1 
[mysqld_safe] 
open_files_limit = 8192 
[mysqldump] 
quick 
max_allowed_packet = 16M 
[myisamchk] 
key_buffer = 256M # 64M for 1GB, 128M for 2GB, 256 for 4GB 
sort_buffer = 256M # 64M for 1GB, 128M for 2GB, 256 for 4GB 
read_buffer = 64M # 16M for 1GB, 32M for 2GB, 64M for 4GB 
write_buffer = 64M # 16M for 1GB, 32M for 2GB, 64M for 4GB 
[mysqlhotcopy] 
interactive-timeout 

는 64 비트의 MySQL의 가정을 다시

+0

이것은 작동했지만 공간/대역폭을 절약하기 위해 필자는 불필요한 로그/테이블을 백업하지 않을 것이라고 생각합니다. – Ivan

관련 문제