安装mysql报错,错误提示:Incorrect definition of table mysql.proc

问题描述:安装mysql的时候报错,通过源码编译安装,安装的路径是/opt/mysql下,当执行mysql_install_db的时候,报错:[ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found type char(64).

ERROR: 1136  Column count doesn't match value count at row 1



具体过程如下:

[root@test001 mysql]# scripts/mysql_install_db

Installing MySQL system tables...

140314  0:05:30 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found type char(64).

ERROR: 1136  Column count doesn't match value count at row 1

140314  0:05:30 [ERROR] Aborting


140314  0:05:30 [Note] ./bin/mysqld: Shutdown complete



Installation of system tables failed!  Examine the logs in

/var/lib/mysql for more information.


You can try to start the mysqld daemon with:


   shell> ./bin/mysqld --skip-grant &


and use the command line tool ./bin/mysql

to connect to the mysql database and look at the grant tables:


   shell> ./bin/mysql -u root mysql

   mysql> show tables


Try 'mysqld --help' if you have problems with paths.  Using --log

gives you a log in /var/lib/mysql that may be helpful.


Please consult the MySQL manual section

'Problems running mysql_install_db', and the manual section that

describes problems on your OS.  Another information source are the

MySQL email archives available at http://lists.mysql.com/.


Please check all of the above before mailing us!  And remember, if

you do mail us, you MUST use the ./bin/mysqlbug script!


根据错误提示来看,是创建数据库到/var/lib/mysql下面了。而我设置的是要创建到/opt/mysql/data下。

检查/etc/my.cnf,确实是/var/lib/mysql。


解决方法:移动my.cnf后,重新执行脚本scripts/mysql_install_db  安装成功。


[root@test001 mysql]# mv /etc/my.cnf /etc/my.cnf.bak

[root@test001 mysql]# scripts/mysql_install_db

Installing MySQL system tables...

OK

Filling help tables...

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:


./bin/mysqladmin -u root password 'new-password'

./bin/mysqladmin -u root -h richmail001 password 'new-password'


Alternatively you can run:

./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 . ; ./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 ./bin/mysqlbug script![root@test001 mysql]# mv /etc/my.cnf /etc/my.cnf.bak

[root@test001 mysql]# scripts/mysql_install_db

Installing MySQL system tables...

OK

Filling help tables...

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:


./bin/mysqladmin -u root password 'new-password'

./bin/mysqladmin -u root -h richmail001 password 'new-password'


Alternatively you can run:

./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 . ; ./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 ./bin/mysqlbug script!




本文转自 woshiwei201 51CTO博客,原文链接:http://blog.51cto.com/chenwei/1375783
上一篇:Mysql报错Fatal error:Can't open and lock privilege tables


下一篇:asp.net 2.0多语言网站解决方案