今天看啥
热点:

我是按
http://www.oklinux.cn/html/sql/other/20090302/67930.html
这个教程编译 MYSQL 5.1.32 的
执行
--with-extra-charsets=GBK
--with-plugins=all
出这样的提示

[root@localhost mysql-5.1.32]# --with-extra-charsets=GBK
bash: --with-extra-charsets=GBK: command not found
[root@localhost mysql-5.1.32]# --with-plugins=all
bash: --with-plugins=all: command not found

然后我就继续执行以下的步骤
执行到
scripts/mysql_install_db
的时候提示
[root@localhost mysql-5.1.32]# scripts/mysql_install_db
Installing MySQL system tables...
090921 14:22:20 [ERROR] /usr/local/mysql/libexec/mysqld: unknown option '--skip-federated'
090921 14:22:20 [ERROR] Aborting

090921 14:22:20 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete

Installation of system tables failed! Examine the logs in
/db/mysql for more information.

You can try to start the mysqld daemon with:

shell> /usr/local/mysql/libexec/mysqld --skip-grant &

and use the command line tool /usr/local/mysql/bin/mysql
to connect to the mysql database and look at the grant tables:

shell> /usr/local/mysql/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /db/mysql that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com/. 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 /usr/local/mysql/bin/mysqlbug script!

请问这个是什么原因???

你是用的RedHat的RHEL5吧,这只是Linux的大量发行版之一,Linux真正最核心的是Kernel,目前最新版本号是2.6.31,不要直接写Linux5这样的。BTW,对RHEL来讲,MySQL提供RPM包,地址是:
http://dev.mysql.com/downloads/mysql/5.1.html#linux-rhel5-x86-32bit-rpms
或者源代码包:
http://dev.mysql.com/downloads/mysql/5.1.html#source

源代码包里的configure文件会有详细的configure设置项
提问者评价
对我使用的就是RHEL5.2
能否给个代码包的详细安装教程

linux系统下的php+ apache2 + Mysql5.0 的安装与配置方法?

这个 说起来很麻烦,比Windows下难些吧.安装前提安装GCCLinux与C天生有不解之缘,LINUX内核主要部分是用C写的,另外很多linux下的服务软件是用C写的,如MSSQL,Apache是用C写的.如果没用安装gcc编译器这些软件根本安装不了有以上类似信息说明已有GCC, 如果你没有,请先拿安装光盘装好它Thread model: posix gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)1. 点击 红帽菜单 > 系统设置 > 添加/删除应用程序 如图2. 如果gcc还没有安装的话,开发工具前面的勾是没有勾上的.勾上开发工具.点击右下角的 更新.如图 安装过程中会提示插入linux系统盘.插入系统盘完成安装安装libxml21.点击 红帽菜单 > 系统工具 > 终端2. 输入命令 cd /usr/ 回车进入libxmlwww.Bkjia.com2源码所在目录3. 执行 tar -zxvf libxml2-2.6.11.tar.gz解压libxml2源码.如图4. 系统自动列出各解压项.小提示:解压完成后可以执行 clear 命令清屏如图5. 执行 cd libxml2-2.6.11进入解压出来的目录.6. 执行 ./configure7. 执行 make 编译源码.如图有些源码编译时要相当相当的时间.大家一定要耐心8. 执行 make install安装libxml2.如图更多文章 php爱好者站 http://www.phpfans.net安装MySQL1. 执行 cd /usr/down去到mysql源码所在目录.执行 ls -l 可以列出当前目录的文件列表.如图2. 执行 groupadd mysql如图3. 执行 useradd -g mysql mysql如图4. 执行 tar -zxvf mysql-5.0.37.tar.gz解压mysql源码.如图5. 执行 cd mysql-5.0.37进入刚解压出来的目录.6. 执行 ./configure --prefix=/server/mysql其中 prefix 参数指明mysql安装目录.我们将它安装在/server/mysql目录下.如7. 执行 mak8. 执行 make install如图9. 执行 /server/mysql/bin/mysql_install_db --user=mysql如图
找到相应的Linux版本程序,安装与配置应该与Windows下大同小异吧,没有接触过。另外有一种傻瓜式的集成包,你找www.bkjia.com下有没有Linux版本的,那个方便些

LINUX5安装MYSQL5 unknown option '--skip-federated'

unknown character '0xa3'是什么意思

代码里面 的逗号, 还有小括号(), 都删除 并且都在英文输入状态下再输入一次;
解释:VC编程里面的代码都必须是在英文状态下输入 尤其要注意的是“;”和“;”的区别

mysql5bin

mysql5 编码问题
我插入Mysql5的中文一直是乱码。
但是直接使用mysqlAdmin,EMS等工具插入DB就不是乱码。而且我还可以使用程序正常地读出来。
原因是:
DBDriverClass=com.mysql.jdbc.Driver
DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8
这样的URL中useUnicode=true和characterEncoding=utf-8两个属性都不好用。

所以,数据库服务器无法从URL中获知Client使用了哪个编码。于是就使用数据库服务器上默认的latin也就是iso-8859-1编码来解析用户发送的sql语句。这样,原本用户是用操作系统的编码,但是服务器硬给转成ISO-8859-1,所以就乱码了。

Client端只要配置好
useUnicode=true
characterEncoding=utf-8
这两个属性。只要指定了,就不会乱码。utf-8可以,gb2312可以,gbk可以。指定了什么,Client就默认以这种
编码转换SQL语句,服务器也就知道怎么转会去。

怎么看客户端发送给服务器的SQL使用什么编码呢?

在客户端写个程序,执行SQL语句:
public void select() throws SQLException {
ResultSet rs = this.cnn.createStatement().executeQuery("SHOW VARIABLES LIKE 'character_set_%'");
while(rs.next()){
System.out.println(rs.getString(1)+","+rs.getString(2));
}
rs.close();
}
没有配置characterEncoding=utf-8之前,我使用的是DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8 这样的配置。结果用select()方法查询结果如下:

character_set_client,latin1
character_set_connection,latin1
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-Linux-i686/share/mysql/charsets/

注意第一行就可以了,可见使用的是latin1。

而latin1本身就无法表示汉字,经过这个编码打包的SQL语句发给Server,Server也用Latin1解析也无法还原。

所以,我总是写乱码到DB。

而配置了配置characterEncoding=utf-8之后,
执行select(),结果:
character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-linux-i686/share/mysql/charsets/

第一行为utf-8,SQL将用UTF8打包给Server,Server也用Client配置的UTF8
解析。

换个工具就是了

sqlyog、mysql control center、phpmyadmin、etc
提问者评价
答得非常清楚,谢谢

mysql5linux

如何配置linux空间 PHP5.2.4/MySQL5?
红旗Linux6+apache2.2.6+mysql5+PHP5.2.4+ZO3.3.0配置
提问者评价
谢谢

mysql5jar

mysql5 编码问题
我插入Mysql5的中文一直是乱码。
但是直接使用mysqlAdmin,EMS等工具插入DB就不是乱码。而且我还可以使用程序正常地读出来。
原因是:
DBDriverClass=com.mysql.jdbc.Driver
DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8
这样的URL中useUnicode=true和characterEncoding=utf-8两个属性都不好用。

所以,数据库服务器无法从URL中获知Client使用了哪个编码。于是就使用数据库服务器上默认的latin也就是iso-8859-1编码来解析用户发送的sql语句。这样,原本用户是用操作系统的编码,但是服务器硬给转成ISO-8859-1,所以就乱码了。

Client端只要配置好
useUnicode=true
characterEncoding=utf-8
这两个属性。只要指定了,就不会乱码。utf-8可以,gb2312可以,gbk可以。指定了什么,Client就默认以这种
编码转换SQL语句,服务器也就知道怎么转会去。

怎么看客户端发送给服务器的SQL使用什么编码呢?

在客户端写个程序,执行SQL语句:
public void select() throws SQLException {
ResultSet rs = this.cnn.createStatement().executeQuery("SHOW VARIABLES LIKE 'character_set_%'");
while(rs.next()){
System.out.println(rs.getString(1)+","+rs.getString(2));
}
rs.close();
}
没有配置characterEncoding=utf-8之前,我使用的是DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8 这样的配置。结果用select()方法查询结果如下:

character_set_client,latin1
character_set_connection,latin1
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-Linux-i686/share/mysql/charsets/

注意第一行就可以了,可见使用的是latin1。

而latin1本身就无法表示汉字,经过这个编码打包的SQL语句发给Server,Server也用Latin1解析也无法还原。

所以,我总是写乱码到DB。

而配置了配置characterEncoding=utf-8之后,
执行select(),结果:
character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-linux-i686/share/mysql/charsets/

第一行为utf-8,SQL将用UTF8打包给Server,Server也用Client配置的UTF8
解析。

换个工具就是了

sqlyog、mysql control center、phpmyadmin、etc
提问者评价
答得非常清楚,谢谢

mysql5安装包

mysql5 编码问题
我插入Mysql5的中文一直是乱码。
但是直接使用mysqlAdmin,EMS等工具插入DB就不是乱码。而且我还可以使用程序正常地读出来。
原因是:
DBDriverClass=com.mysql.jdbc.Driver
DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8
这样的URL中useUnicode=true和characterEncoding=utf-8两个属性都不好用。

所以,数据库服务器无法从URL中获知Client使用了哪个编码。于是就使用数据库服务器上默认的latin也就是iso-8859-1编码来解析用户发送的sql语句。这样,原本用户是用操作系统的编码,但是服务器硬给转成ISO-8859-1,所以就乱码了。

Client端只要配置好
useUnicode=true
characterEncoding=utf-8
这两个属性。只要指定了,就不会乱码。utf-8可以,gb2312可以,gbk可以。指定了什么,Client就默认以这种
编码转换SQL语句,服务器也就知道怎么转会去。

怎么看客户端发送给服务器的SQL使用什么编码呢?

在客户端写个程序,执行SQL语句:
public void select() throws SQLException {
ResultSet rs = this.cnn.createStatement().executeQuery("SHOW VARIABLES LIKE 'character_set_%'");
while(rs.next()){
System.out.println(rs.getString(1)+","+rs.getString(2));
}
rs.close();
}
没有配置characterEncoding=utf-8之前,我使用的是DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8 这样的配置。结果用select()方法查询结果如下:

character_set_client,latin1
character_set_connection,latin1
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-Linux-i686/share/mysql/charsets/

注意第一行就可以了,可见使用的是latin1。

而latin1本身就无法表示汉字,经过这个编码打包的SQL语句发给Server,Server也用Latin1解析也无法还原。

所以,我总是写乱码到DB。

而配置了配置characterEncoding=utf-8之后,
执行select(),结果:
character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/local/mysql-standard-5.0.27-linux-i686/share/mysql/charsets/

第一行为utf-8,SQL将用UTF8打包给Server,Server也用Client配置的UTF8
解析。

换个工具就是了

sqlyog、mysql control center、phpmyadmin、etc
提问者评价
答得非常清楚,谢谢

www.bkjia.comtruehttp://www.bkjia.com/doc/118212333.htmlTechArticle我是按 http://www.oklinux.cn/html/sql/other/20090302/67930.html 这个教程编译 MYSQL 5.1.32 的 执行 --with-extra-charsets=GBK --with-plugins=all 出这样的提示 [root@...

相关文章

相关频道:

帮客评论

视觉看点