天天看點

安裝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).

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

OK

Filling help tables...

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

Please report any problems with the ./bin/mysqlbug script!

本文轉自 woshiwei201 51CTO部落格,原文連結:http://blog.51cto.com/chenwei/1375783