RedHat下两个MySQL数据库并存问题的解决方案

        撰写这篇文章是为了在RedHat Enterprise 3.0实现MySQL4.0.26和MySQL5.0.51a两个数据库并存而写下的。 数据库安装包类型: 1.MySQL4.0.26 (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 2.mysql-5.0.51 mysql-5.0.51a.tar.gz(就这一个包) 首先,需要注意的是:不管是安装单一的数据库还是安装多个数据库, 我们都要注意的有关数据库的几个基本问题: 1.配置文件在哪? 2.数据库目录在哪? 3.启动脚本在哪? 4.端口是多少? 5..socket文件在哪里生成? 以我们在Redhat下安装的MySQl4.0.26数据库为例:(注意事项:rpm包使用的都是默认的设置,不能更改,以下均为默认设置) 1.配置文件:/etc/my.cnf 2.数据库目录:/var/lib/mysql 3.启动脚本:/etc/rc.d/init.d/mysql 4.端口33065..socket文件/tmp/mysql.socket 由于我们安装的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 ### 字符集加载,为了处理中文乱码问题其他的设置是对数据库的一下优化,在此就不再赘述。 mysql-5.0.51a.tar.gz安装详解: 1# cd mysql-5.0.51a 2# mkdir /usr/local/mysql5(这步骤中的诸多参数中,关键的参数已经在前面介绍了,如有不懂,请参看前面的介绍。) 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# make install 6.# useradd mysql //添加 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 -R root:mysql .          //设置权限,注意后面有一个 "." 10# chown -R mysql /var/lib/mysql5   //设置 mysql 目录权限 11# chgrp -R mysql .           //注意后面有一个 "." 12# cp share/mysql/my-huge.cnf /etc/my5.cnf 13# cp share/mysql/mysql.server /etc/rc.d/init.d/mysql5 //开机自动启动 mysql。 14# chmod 755 /etc/rc.d/init.d/mysql5 15# chkconfig --add mysql5 16以下是安装第二个数据库时,对启动文件mysql5和配置文件my5.cnf做出的必要修改。 ===================================================================================/etc/rc.d/init.d/mysql5修改下面的内容: 1.datadir=/var/lib/mysql5 2.conf=/etc/my5.cnf 3.把"$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &"替换为(双引号中的)"$bindir/mysqld_safe --defaults-file=/etc/my5.cnf --datadir=$datadir--pid-file=$server_pid_file $other_args >/dev/null 2>&1&"(双引号中的) ===================================================================================/etc/my5.cnf修改下面的内容: 1.port = 3307 ###修改相关的端口 2.socket文件生成路径 把[client]和[mysqld]中 port号都改成3307, socket = /tmp/mysql.sock改成socket = /tmp/mysql5.sock [client] #password = your_passwordport  = 3307 socket  = /tmp/mysql5.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port  = 3307 socket  = /tmp/mysql5.sock ================================================================================== 17# /etc/rc.d/init.d/mysql5 start           //启动 MySQL 18# bin/mysqladmin -u root password "password_for_root"  // 设置数据库密码    注意事项:(默认设置:用户名:root 密码:(空)) 19# cd /usr/local/mysql5/bin(进入数据库安装目录下执行以下命令) 20# ./mysql -u root -p (登陆数据库,以mysql>开头均属数据库内的操作,注意不要丢掉分号 mysql> use mysql; mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> exit; 21# service mysql5 stop               //关闭 MySQL 22tomcat部署文件下的修改:修改/usr/tomcat/jetmambo/WEB-INF/classes/jdbc.properties 1.3306改成3307 2.jdbc.password=system(注意事项:这个密码就是数据库密码)修改后如下: jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3307/timef3_cmd?&useUnicode=true&characterEncoding=gbkjdbc.username=rootjdbc.password=system 23启动数据库和WEB服务器,验证数据库安装是否成功 /etc/init.d/mysql restart/etc/init.d/mysql5 restart 注意事项:必须保持两个数据库都开启服务,否则tomcat报SQLException /usr/tomcat/bin/catalina.sh run 补充说明: 24linux下默认数据库名不忽略大小写,做如下设置: /etc/my5.cnf # The MySQL server [mysqld] lower_case_table_names = 1     // 1为忽略大小写     0为不忽略大小写 port  = 3307 socket  = /tmp/mysql5.sock
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值