在ML2.0上,好多版本的mysql都装不上
MAGIC LINUX2.0,下了MYSQL4.0,还有5.0的RPM包,但是装不上,还下了个4.0的源代源,编绎也通不过,这是什么原因,看到有的MYSQL包上带有GLIBC2.3之类的信息,是不是ML2.0的这些库的版本号低了啊,怎么才能在ML2.0上装上MYSQL呢,装哪个版本的比较合适? 我这里可以安装啊,没有问题,版本是4.0.26,从源代码编译安装的。你是怎么装的?详细说说 仓库里有mysql 5.0/apache 2.2.0/php-5.1.2 试试xampp,PHP,MySQ都包括了,而且还是免安装的 以前是:
4.0的源代码解压后,先运行configure没问题,再make执行到快结束时,出现错误。
RPM的就直接用rpm -ivh安装,也是失败。
刚才找来4.0.26版的,先configure没问题,再make也没问题,再make install;也没问题,运行mysqld_safe时,提示错误,
# mysqld_safe &
9697
# touch: 无法触碰 “/usr/local/var/MagicLinux.err”: 没有那个文件或目录
chown: 无法访问 “/usr/local/var/MagicLinux.err”: 没有那个文件或目录
Starting mysqld daemon with databases from /usr/local/var
/usr/local/bin/mysqld_safe: line 302: /usr/local/var/MagicLinux.err: 没有那个文件或目录
/usr/local/bin/mysqld_safe: line 308: /usr/local/var/MagicLinux.err: 没有那个文件或目录
STOPPING server from pid file /usr/local/var/MagicLinux.pid
tee: /usr/local/var/MagicLinux.err: 没有那个文件或目录
060314 15:14:32mysqld ended
tee: /usr/local/var/MagicLinux.err: 没有那个文件或目录
+Exit 1 mysqld_safe
然后按照源代码中的提示的
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
来进行操作,之后再运行
# ./mysqld_safe --user=mysql&
9744
# Starting mysqld daemon with databases from /usr/local/var
# mysql
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.26-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功了。有点奇怪,为什么我编绎4.0的不成功,编绎4.0.26的却成功了呢,并且安装,运行都成功了? apt.magiclinux.org 我在编译4.0时错误如下:
(cd .libs && rm -f libmysqlclient.la && ln -s ../libmysqlclient.la libmysqlclient.la)
make: Leaving directory `/home/oatt/Downloads/mysql-4.0.0-alpha/libmysql'
Making all in client
make: Entering directory `/home/oatt/Downloads/mysql-4.0.0-alpha/client'
c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I.. -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -c mysql.cc
c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I.. -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -c readline.cc
c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I.. -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -c sql_string.cc
c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I.. -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -c completion_hash.cc
/bin/sh ../libtool --mode=link c++-O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o mysqlmysql.o readline.o sql_string.o completion_hash.o ../readline/libreadline.a -lncurses ../libmysql/libmysqlclient.la-lz -lcrypt -lnsl -lm
mkdir .libs
c++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o .libs/mysql mysql.o readline.o sql_string.o completion_hash.o ../readline/libreadline.a -lncurses ../libmysql/.libs/libmysqlclient.so -lz -lcrypt -lnsl -lm -lz -lcrypt -lnsl -lm -Wl,--rpath -Wl,/usr/local/lib/mysql
../libmysql/.libs/libmysqlclient.so: undefined reference to `errno'
collect2: ld returned 1 exit status
make: *** 错误 1
make: Leaving directory `/home/oatt/Downloads/mysql-4.0.0-alpha/client'
make: *** 错误 1
make: Leaving directory `/home/oatt/Downloads/mysql-4.0.0-alpha'
make: *** 错误 2
# 仓库有还编译,没事找事 也非没事找事,我就没用仓库的,这么做是有客观原因的,并不是不相信仓库的编译。
比如mysql,RPM编译会生成很多包,不是很多人会很专业地去区分记忆mysql各包及其用处,目前通过apt-get install mysql并不能装好mysql环境,执行以上后还有很多自己没记住包名的包没下载,就算装全了还要找配置文件进行设置。通过仓库安装往往就没能把包装全,加上电信的APT下载速度很慢,效率可想而知。
目前ML并没有针对LINUX服务器进行开发,所以一些设置并不符合使用习惯,比如仓库的mysql5是没有加GBK参数的,这使得仓库的mysql5和官方提供不需要编译的解压设置后执行的包没有区别,其特点就是对中文支持不好,对旧版数据库数据导入的兼容性也不好。
综合以上原因,下载仓库的服务器包还不如自己源码编译到指定目录来的快,再后来为了重装方便索性自己编译rpm包。我上次放在自由软件的群包压缩档几天下载就达到330以上。 mysql 4.1/5的中文支持问题其实是mysql 4.0中用latin1存储所有字符引出来的问题
所以mysql 5根本就不用加参数,将以前错误的做法改回来就好了,网上说明多的是。
如果mysql/apache/php都不会配置,装来做什么?这又不是桌面应用,如果是用来做开发的,这个
都不会就不要去做开发了。
仓库里面的包有description,有changelog,看不到是自己的问题
做一个binary的包其实没什么意义,注重安全的人会用tarball自己编译,重方便的直接安装rpm,还能自己配置/etc/init.d/
做点别的事情比这个有意义。 我知道mysql 4.1/5的中文支持问题其实是mysql 4.0中用latin1存储所有字符引出来的问题 ,但很多朋友用的脚本程序只支持Mysql4.0以下的版本,数据的导入也存在这种问题,编译时加入GBK参数只是改变默认的字集,使它默认按中文字集来处理数据。用MYSQL5正确的应用是在连接时声明操作的字集,但在旧程序中没有这个,所以用GBK参数编译避免大量修改旧程序何乐而不为?
之前我也认同你这样的观点----如果mysql/apache/php都不会配置,装来做什么?这又不是桌面应用,如果是用来做开发的,这个都不会就不要去做开发了。
但是很多朋友认为他们学的是编程不是安装和管理服务器,要不程序员和网络管理员怎么区分。程序员写的代码不能运行,首先就认为他们选的服务器不适合他们使用。
在ML上装服务器的朋友大多都是学习服务器脚本编程的,ML也不适合直接用来当服务器,学习而已,所以很多人是不会配置服务器的(Linux的安装配置相当麻烦,比如一个GD库,需要正确的参数编译,比win上直接去除php.ini对应插件注释要费力的多)。
考虑从Win转移到Linux桌面应用的朋友,也要考虑到从Win上到Linux上学习开发的朋友,有不少朋友在找Mysql其中的某个包就不会懂编译或直接下载预编译包,他们习惯在WIN上双击mysql-client.exe。。。在Linux上开发的朋友的增多,不管他们的水平和层次如何都会带动桌面普能应用软件的增多和最终用户的增多。
我已经把自由区的那些包删了,因为库里有了,我想网上也有足够的WIKI和BLOG讲述安装和配置。桌面版影响大了,ML以后应该会有收费的服务器版本吧,拭目以待了。
页:
[1]