Chinaunix

标题: 求助: mysql 数据库初始化失败 [打印本页]

作者: hankewhl    时间: 2010-11-17 11:10
标题: 求助: mysql 数据库初始化失败
显示“[root@localhost mysql]# bin/mysql_install_db --user=mysql
Installing MySQL system tables...
101118 11:08:36 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101118 11:08:36 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
ERROR: 1062  Duplicate entry 'localhost-' for key 1
101118 11:08:36 [ERROR] Aborting

101118 11:08:36 [Note] /usr/local/mysql//libexec/mysqld: Shutdown complete

Installation of system tables failed!

Examine the logs in /usr/local/mysql//var for more information.
You can try to start the mysqld daemon with:
/usr/local/mysql//libexec/mysqld --skip-grant &
and use the command line tool
/usr/local/mysql//bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/local/mysql//bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /usr/local/mysql//var that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/local/mysql//bin/mysqlbug script!

作者: hankewhl    时间: 2010-11-17 11:11
很着急,求各位帮帮忙
作者: hankewhl    时间: 2010-11-17 11:29
这样的情况怎么解决阿
作者: hankewhl    时间: 2010-11-17 11:31
[root@localhost mysql]# bin/mysql_install_db --user=mysql
Installing MySQL system tables...
101118 11:28:47 [Warning] option 'max_join_size': unsigned value 18446744073709551                  615 adjusted to 4294967295
101118 11:28:47 [Warning] option 'max_join_size': unsigned value 18446744073709551                  615 adjusted to 4294967295
ERROR: 1062  Duplicate entry 'localhost-' for key 1
101118 11:28:47 [ERROR] Aborting

101118 11:28:47 [Note] /usr/local/mysql//libexec/mysqld: Shutdown complete

Installation of system tables failed!

Examine the logs in /usr/local/mysql//var for more information.
You can try to start the mysqld daemon with:
/usr/local/mysql//libexec/mysqld --skip-grant &
and use the command line tool
/usr/local/mysql//bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/local/mysql//bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /usr/local/mysql//var that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/local/mysql//bin/mysqlbug script!
作者: Yuri.G.    时间: 2010-11-17 12:00
回复 4# hankewhl


    两个问题:
1、你把MySQL的配置文件贴出来看看,有两个值太大了。
2、你所配置的数据库目录是不是本来就已经有数据库了?已经有数据库文件在里面了。好好看看
作者: hankewhl    时间: 2010-11-17 12:06
还没有配置呢,刚编译安装完;数据库目录新建的,空的,什么都没有。
作者: hankewhl    时间: 2010-11-17 12:08
系统是redhat5.4的,系统环境还需要做什么修改吗
作者: Yuri.G.    时间: 2010-11-17 12:29
回复 7# hankewhl


    理论上你编译好了是不用再做什么改动的,看看my.cnf吧
作者: hankewhl    时间: 2010-11-17 13:04
这个文件需要改吗
作者: hankewhl    时间: 2010-11-17 13:05
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /usr/local/mysql//var) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
作者: hankewhl    时间: 2010-11-17 13:06
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking

# Disable Federated by default
skip-federated

# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id       = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>, <user>, <password> by quoted strings and
#    <port> by the master's port number (3306 by default).
#
#    <port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   <password>
#
# The port the master is listening on.
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin

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

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

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql//var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql//var/
#innodb_log_arch_dir = /usr/local/mysql//var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
[mysql]
no-auto-rehash
# Remove the next comment character 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
作者: hankewhl    时间: 2010-11-17 13:08
这是全部的内容,帮忙看看是那里的问题
作者: Yuri.G.    时间: 2010-11-17 13:42
回复 12# hankewhl

1、你做chown了么?把数据库目录改权限给mysql
2、你的hostname是什么?怎么错误信息里面都没有hostname的。cat /etc/hosts
作者: hankewhl    时间: 2010-11-17 13:53
[root@localhost mysql]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6


这还需要改动吗?
作者: hankewhl    时间: 2010-11-17 13:54
权限给了怎么还是报错啊
作者: hankewhl    时间: 2010-11-17 14:34
这两项都做了还是报错
作者: hankewhl    时间: 2010-11-17 14:35
还是一样的错误

作者: hankewhl    时间: 2010-11-17 14:41
现在又出现这样的错误了
“[root@joinbright mysql]# bin/mysql_install_db --user=mysql
Installing MySQL system tables...
101118 14:39:26 [Warning] option 'max_join_size': unsigned value 184467440737095                                             51615 adjusted to 4294967295
101118 14:39:26 [Warning] option 'max_join_size': unsigned value 184467440737095                                             51615 adjusted to 4294967295
OK
Filling help tables...
101118 14:39:26 [Warning] option 'max_join_size': unsigned value 184467440737095                                             51615 adjusted to 4294967295
101118 14:39:26 [Warning] option 'max_join_size': unsigned value 184467440737095                                             51615 adjusted to 4294967295
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h joinbright password 'new-password'

Alternatively you can run:
/usr/local/mysql//bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql//bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

作者: witer666    时间: 2010-11-17 21:09
mysql_install_db 安装数据在安装包中的script文件夹下安装
作者: yizuwei520    时间: 2010-11-19 09:03
我提供我安装的一般步骤:
groupadd mysql
useradd -g mysql mysql
cd /usr/local
tar xvzf /tmp/mysql-version.tar.gz
ln -s /usr/local/mysql-version /usr/local/mysql
cd /usr/local/mysql
./scripts/mysql_install_db
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql
/usr/local/bin/mysqld_safe &
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
我一般是按照这样的步骤来安装的,没有失败过,还要特别说明的是安装后/etc/目录下没有my.cnf配置文件,需要从安装包解压出来的my.cnf复制到/etc目录下面,该文件不需要配置就行。你先试试我这种方法。
作者: bdsnmp    时间: 2010-11-19 15:09
把mysql的日志贴出来看看,那个里面应该有具体的报错信息




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2