問題描述:安裝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