问题的形成:在已有的RedHatEnterpriseLinuxAS3.0系统上早已运行了一套web程序,使用Mysql4,tomcat41,如今又要求安装一套新程序,仍然使用该tomcat41,但数据库变为mysql5。
注意事项:
新的程序须要注意字符集的问题,
1)具体数据库的权限和分组问题,
2)mysql5下的具体数据库从windows直接拷贝到Linux下不管用的问题,
3)以及mysql5须要设置密码的问题,
4)mysql5在linux下对数据库分辨大小写的问题。
5)mysql在终端步入
mysql>
时的用户名和密码问题
据悉,在具体安装mysql5的过程中,要注意将mysql5的安装位置(baseDir),数据库的具体储存位置(dataDir),端标语(改为3307),进行更改linux查看pthread库版本,这样就能保证两个不同版本的数据库的同时运行。
版本号:
MySQLv4.0.24
(1)MySQL-server-4.0.24-0.i386.rpm
(2)MySQL-client-4.0.24-0.i386.rpm
(3)MySQL-devel-4.0.24-0.i386.rpm
MySQL5.0.51a
mysql-5.0.51a.tar.gz
下载地址:/pub/MySQL/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz
安装MySQLv4.0.24
#rpm-qa|grepsql
查询系统是否默认安装了mysql服务器
之后卸载系统默认安装的mysql
卸载mysql命令如下:
#rpm-e--nodepsmysql-3.23.58-1
安装MySQL服务端:
#rpm-ivhMySQL-server-4.0.24-0.i386.rpm
测试服务端是否安装成功:
#netstat-nat
查看端口3306是否打开
之后安装MySQL顾客端
#rpm-ivhMySQL-client-4.0.24-0.i386.rpm
安装MySQL联接包:
#rpm-ivhMySQL-devel-4.0.24-0.i386.rpm
此时Mysql4的各个安装路径如下:
以我们在Redhat下安装的MySQl4.0.26数据库为例:
(注意事项:rpm包使用的都是默认的设置,不能修改,以下均为默认设置)
1.配置文件:/etc/f
2.数据库目录:/var/lib/mysql
3.启动脚本:/etc/rc.d/init.d/mysql
4.端口3306
5..socket文件/tmp/mysql.socket
——————————————————————————————————————
下边安装MySQL5.0.51a
因为我们安装的MySQL4.0.26的安装包类型是rpm包,所以,须要你们注意的是,
它使用的都是默认的设置,安装后生成的配置文件和数据库目录等等一系列的配置都是我们不能改变的。
为此,假如要在同一开发环境下安装两个数据库的话,我们就必须处理以下这种问题:
1.配置文件安装路径不能相同
2.数据库目录不能相同
3.启动脚本不能同名
4.端口不能相同
5..socket文件的生成路径不能相同
根据前面的各类要求:mysql5.0.51a.tar.gz的源码包安装作出以下调整:
--prefix=/usr/local/mysql5###数据库安装目录
--localstatedir=/var/lib/mysql5###数据库储存目录
--with-charset=gbk--with-collation=gbk_chinese_ci--with-extra-charsets=all###字符集gbk加载和gbk_chinese_ci加载,可处理英文乱码问题
其他的设置是对数据库的一下优化,在此就不再赘言。
参考了一些msyql5的安装文档,在这儿谢谢诸位高手
mysql-5.0.51a.tar.gz解压后的安装解读:
1#cdmysql-5.0.51a
2#mkdir/usr/local/mysql5
(这步骤中的众多参数中嵌入式linux驱动程序设计从入门到精通,关键的参数早已在上面介绍了,如有不懂,请参看上面的介绍。)
3#./configure
--prefix=/usr/local/mysql5
--localstatedir=/var/lib/mysql5--with-comment=Source
--with-server-suffix=-Community
--with-mysqld-user=mysql
--without-debug
--with-big-tables
--with-charset=gbk--with-collation=gbk_chinese_ci--with-extra-charsets=all
--with-pthread
--enable-static
--enable-thread-safe-client
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
--enable-assembler
--without-innodb
--without-ndb-debug
4#make
5#makeinstall
6.#useraddmysql//添加mysql用户
7#cd/usr/local/mysql5
(注意:!!!在安装第二个数据库时侯,即使在./configure后加上了--localstatedir=/var/lib/mysql5而且并未在/var/lib下形成mysql5目录,所以我们要在源码包编译安装完成以后先检测一下是否有这个目录,假如没有的话一定要自动创建一个命令:#mkdir/var/lib/mysql5再执行第八步骤。)
8#bin/mysql_install_db--user=mysql
(在确保第七步骤正确完成以后,在执行本步骤时,假若正确的话,在/var/lib/mysql5下将会形成相应的数据库文件。)
9#chown-Rroot:mysql.//设置权限,注意旁边有一个"."
10#chown-Rmysql/var/lib/mysql5//设置mysql目录权限
11#chgrp-Rmysql.//注意旁边有一个"."
12#cpshare/mysql/f/etc/f
13#cpshare/mysql/mysql.server/etc/rc.d/init.d/mysql5//开机手动启动mysql。
14#chmod755/etc/rc.d/init.d/mysql5
15#chkconfig--addmysql5
16以下是安装第二个数据库时linux设置默认网关,对启动文件mysql5和配置文件f作出的必要更改。
===================================================================================
/etc/rc.d/init.d/mysql5
更改下边的内容:
1.datadir=/var/lib/mysql5
2.conf=/etc/f
3.把"$bindir/mysqld_safe--datadir=$datadir--pid-file=$server_pid_file$other_args>/dev/null2>&1&"替换为(双冒号中的)
"$bindir/mysqld_safe--defaults-file=/etc/f--datadir=$datadir--pid-file=$server_pid_file$other_args>/dev/null2>&1&"(双冒号中的)
===================================================================================
/etc/f
更改下边的内容:
port=3307###更改相关的端口
socket文件生成路径
把[client]和[mysqld]中的port号都改成3307,
socket=/tmp/mysql.sock改成socket=/tmp/mysql5.sock
[client]
#password=your_password
port=3307
socket=/tmp/mysql5.sock
#Herefollowsentriesforsomespecificprograms
#TheMySQLserver
[mysqld]
port=3307
socket=/tmp/mysql5.sock
==================================================================================
17#/etc/rc.d/init.d/mysql5start//启动MySQL
18#bin/mysqladmin-urootpassword"password_for_root"###设置数据库JDBC联接的密码
注意事项:此密码与从终端顾客端登录数据库的密码是否为同一密码,还存在疑惑。
设置终端顾客端登录数据库的密码:(默认设置:用户名:root密码:(空))
19#cd/usr/local/mysql5/bin(步入数据库安装目录下执行以下命令)
20#./mysql-uroot-p(登入数据库linux查看pthread库版本,以mysql>开头均属数据库内的操作,注意不要扔掉分号
mysql>usemysql;
mysql>UPDATEuserSETPassword=PASSWORD('newpassword')whereUSER='root';
mysql>FLUSHPRIVILEGES;
mysql>exit;
21#servicemysql5stop//关掉MySQL
22tomcat布署文件下的更改:
更改/usr/tomcat/jetmambo/WEB-INF/classes/jdbc.properties
1.3306改成3307
2.jdbc.password=system(注意事项:这个密码就是数据库JDBC联接的密码)
更改后如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3307/timef3_cmd?&useUnicode=true&characterEncoding=gbk
jdbc.username=root
jdbc.password=system
23启动数据库和WEB服务器,验证数据库安装是否成功
/etc/init.d/mysqlrestart
/etc/init.d/mysql5restart
注意事项:必须保持两个数据库都开启服务,否则tomcat报SQLException
/usr/tomcat/bin/catalina.shrun
补充说明:
24linux下默认数据库中表名不忽视大小写,做如下设置:
/etc/f
#TheMySQLserver
[mysqld]
lower_case_table_names=1###1为忽视大小写0为不忽视大小写
port=3307
socket=/tmp/mysql5.sock
————————————————————————————————————
遗留问题,不知这位高手可以解答一下:
在终端步入
>mysql时
报:
ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(2)
错误。
本文原创地址:https://www.linuxprobe.com/rxtazdmxzmml.html编辑:刘遄,审核员:暂无