日期:2014-05-16  浏览次数:20706 次

linux下多mysql共存
下面安装MySQL 5.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# 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

修改下面的内容:

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

# 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" ### 设置数据库JDBC连接的密码
    注意事项:此密码与从终端客户端登陆数据库的密码是否为同一密码,还存在疑问。
              设置终端客户端登陆数据库的密码:(默认设置:用户名: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连接的密码)