linux中源码编译安装mysql常见错误_MySQL
(一) #./configure --prefix=/usr/local/mysql-5.1.54 (mysql指定路径安装报错:) 如下: checking for termcap functions library... configure: error: No curses/termcap library found 安装: ncurses-devel.***.rpm 包解决 #cd /media/CentOS_5.5_Final/CentOS/ #ls ncurses-devel* 找到这个包并用rpm安装。 # rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm (或者去下载一个ncurses-5.6.tar.gz, wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz 解压并安装) (二) make时出错 ../depcomp: line 571: exec: g++: not found make[1]: *** [my_new.o] 错误 127 make[1]: Leaving directory `/usr/local/src/mysql/mysql-5.1.32/mysys` make: *** [all-recursive] 错误 1 解决: #yum install gcc-c++ 可解决问题。 重新指定安装路径: #./configure --prefix=/usr/local/mysql-5.0.90 make make install ? (三) 初始化数据库时出错: # scripts/mysql_install_db --user=mysql 或 #bin/mysql_install_db --basedir=/usr/local/mysql-5.1.54 --datadir=/usr/local/mysql-5.1.54/data --user=mysql [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip- external-locking' instead. ? (解决方法:将my.cnf 中的'--skip-locking' 换成'--skip-external-locking' 就可以了。) ? (四)修改/etc/my.cnf 的配置文件: [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 basedir=/usr/local/mysql-5.1.54 datadir=/usr/local/mysql-5.1.54/data skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates (五:提示:) 出错时,可及时查看错误日志: vi /usr/local/mysql-5.1.54/data/localhost.localdomain.err 显示如下: 110107 22:06:31 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.1.54/data 110107 22:06:31 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead. /usr/local/mysql-5.1.54/libexec/mysqld: Table 'mysql.plugin' doesn't exist 110107 22:06:31 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 110107 22:06:31 [ERROR] Can't start server : Bind on unix socket: No such file or directory 110107 22:06:31 [ERROR] Do you already have another mysqld server running on socket: var/lib/mysql/mysql.sock ? 110107 22:06:31 [ERROR] Aborting ? 小结1: mysql 的启动方式: (1) #cd /usr/local/ mysql-5.1.54/libexec #./mysqld --defaults-file=../my.cnf --user=mysql (2) #cd /usr/local/mysql-5.1.54/bin #./mysqld_safe --defaults-file=../my.cnf --user=mysql (3) #mysql -S /tmp/mysql.sock (4) #cd /usr/local/mysql-5.1.54/share/mysql #./mysql.server start (可以将mysql添加的系统服务中) #cp ./mysql.server /etc/init.d/mysql #chkconfig --add mysql #service mysql start |