LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 606|回复: 1

【求助】Linux下MySQL数据文件恢复问题.

[复制链接]
发表于 2010-8-3 12:22:03 | 显示全部楼层 |阅读模式
有个MySQL的问题请教下:
原因是: 我的服务器主板坏了.但是硬盘没问题
我把硬盘中的MySQL的配置文件和所有数据拷贝下来
然后在另外一台机器上安装了gentoo和MySQL5.1.46 版本是一样的.

我用的数据库引擎是innodb,我把原来的my.cnf文件覆盖了新的my.cnf文件,我把原来的idbdata1文件覆盖了新机器上的文件.然后把原机器上
的MySQL文件夹覆盖了新机器上的文件夹.然后拷贝了一个原机器上的数据库文件夹,姑且叫做test
然后重启MySQL.没问题.登录MySQL正常,使用use mysql,show tables命令正常

.然后我使用use test命令正常.然后是用show tables,就报错.
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'' (111)
ERROR:
Can't connect to the server

我确认 "/var/run/mysqld/mysqld.sock" 这个文件存在.而且使用 chown -R mysql:mysql "/var/run/mysqld/"命令修改了权限

但是依然报错...
请教如何解决好呢?
网上搜索的文章看了不少.但是对我这里的问题,没什么效果.
 楼主| 发表于 2010-8-3 12:44:25 | 显示全部楼层
下面这个是我的my.cnf配置


# /etc/mysql/my.cnf: The global mysql configuration file.
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-4.1,v 1.4 2008/11/14 02:16:25 robbat2 Exp $

# The following options will be passed to all MySQL clients
[client]
#password                                        = your_password
port                                                = 3306
socket                                                = /var/run/mysqld/mysqld.sock
default-character-set=utf8

[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[myisamchk]
character-sets-dir=/usr/share/mysql/charsets

[myisampack]
character-sets-dir=/usr/share/mysql/charsets

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log                                                = /var/log/mysql/mysql.err

# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
[mysqld]
character-set-server                = utf8
default-character-set                = utf8
user                                                 = mysql
port                                                 = 3306
socket                                                 = /var/run/mysqld/mysqld.sock
pid-file                                         = /var/run/mysqld/mysqld.pid
log-error                                         = /var/log/mysql/mysqld.err
basedir                                         = /usr
datadir                                         = /var/mysqldb
skip-locking
key_buffer                                         = 16M
max_allowed_packet                         = 1M
table_cache                                 = 614
sort_buffer_size                         = 512K
net_buffer_length                         = 8K
read_buffer_size                         = 256K
read_rnd_buffer_size                 =16M
myisam_sort_buffer_size         = 8M
language                                         = /usr/share/mysql/english

bulk_insert_buffer_size = 64M

query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
max_connections = 1000
max_connect_errors = 1000
join_buffer_size = 1M
thread_cache_size = 300
thread_stack = 192K
tmp_table_size = 246M
max_heap_table_size = 246M
long_query_time = 3
expire_logs_days=30

# security:
# using "localhost" in connects uses sockets by default
# skip-networking
#bind-address                                = 127.0.0.1

log-bin
server-id                                         = 1

# point the following paths to different dedicated disks
tmpdir                                                 = /tmp/
#log-update                                 = /path-to-dedicated-directory/hostname

# you need the debug USE flag enabled to use the following directives,
# if needed, uncomment them, start the server and issue
# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
# this will show you *exactly* what's happening in your server ;)

#log                                                = /tmp/mysqld.sql
#gdb
#debug                                                = d:t:i,/tmp/mysqld.trace
#one-thread

# uncomment the following directives if you are using BDB tables
#bdb_cache_size                                = 4M
#bdb_max_lock                                = 10000

# the following is the InnoDB configuration
# if you wish to disable innodb instead
# uncomment just the next line
#skip-innodb
#
# the rest of the innodb config follows:
# don't eat too much memory, we're trying to be safe on 64Mb boxes
# you might want to bump this up a bit on boxes with more RAM
innodb_buffer_pool_size = 512M
# this is the default, increase it if you have lots of tables
innodb_additional_mem_pool_size = 16M
#
# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
# and upstream wants things to be under /var/lib/mysql/, so that's the route
# we have to take for the moment
#innodb_data_home_dir                = /var/lib/mysql/
#innodb_log_arch_dir                = /var/lib/mysql/
#innodb_log_group_home_dir        = /var/lib/mysql/
# you may wish to change this size to be more suitable for your system
# the max is there to avoid run-away growth on your machine
innodb_data_file_path = ibdata1:18M:autoextend:max:128M
# we keep this at around 25% of of innodb_buffer_pool_size
# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
innodb_log_file_size = 5M
# this is the default, increase it if you have very large transactions going on
innodb_log_buffer_size = 8M
# this is the default and won't hurt you
# you shouldn't need to tweak it
set-variable = innodb_log_files_in_group=2
# see the innodb config docs, the other options are not always safe
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_file_per_table
#innodb_flush_method=O_DIRECT
innodb_file_io_threads=4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0

[mysqldump]
quick
max_allowed_packet                         =32M

[mysql]
# uncomment the next directive if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer                                         = 20M
sort_buffer_size                         = 20M
read_buffer                                 = 2M
write_buffer                                 = 2M

[myisamchk]
key_buffer                                         = 20M
sort_buffer_size                         = 20M
read_buffer                                 = 2M
write_buffer                                 = 2M

[mysqlhotcopy]
interactive-timeout
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表