一台服务器上安装不同版本的Mysql
Tuesday, December 30, 2008
公司短信项目的一个服务器A新上一个WEB项目,可能会频繁重启服务器,所以提出把该服务器上的数据库迁移到另外一台短信服务器B上。
A服务器Mysql数据库版本5.0
B服务器Mysql数据库版本4.0
4.0不支持GBK字符集,所以就有了在B服务器上安装2个Mysql数据库版本的想法,且不需要对原4.0数据进行升级。
以下是步骤和碰到的一些问题:
1)下载mysql-5.0.67-linux-i686-glibc23.tar.gz
注意:可能
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql5
shell> cd mysql5
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data 执行scripts/mysql_install_db --user=mysql
会有问题,不要管他,继续就可以了。
2)建立my.cnf文件 shell>mv support-files/
my-huge.cnf ./my.cnf
3)修改my.cnf文件 shell> vi my.cnf
innodb_data_home_dir = /usr/local/mysql5/data/
[client]
#password = your_password
port = 3307
pid-file = /usr/local/mysql5/data/localhost.localdomain.pid
socket = /tmp/mysql5.sock
[mysqld]
port = 3307
pid-file = /usr/local/mysql5/data/localhost.localdomain.pid
socket = /tmp/mysql5.sock
basedir = /usr/local/mysql5
datadir = /usr/local/mysql5/data
default-character-set=gbk
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql5/data/
innodb_log_arch_dir = /usr/local/mysql5/data/
注意:default-character-set=gbk
根据自己的需要进行添加,不加的话localhost.localdomain.err会报Fatal error: Can't open privilege tables: File '/usr/local/mysql-5.0.45-linux-i686/share/mysql/charsets/?.conf' not found (Errcode: 2)错误;
innodb_data_home_dir = /usr/local/mysql5/data/
innodb_log_group_home_dir = /usr/local/mysql5/data/不修改的话localhost.localdomain.err会报
InnoDB: Resetting space id's in the doublewrite buffer
081230 10:28:17 InnoDB: Started; log sequence number 0 43665
InnoDB: You are upgrading to an InnoDB version which allows multiple
InnoDB: tablespaces. Wait that purge and insert buffer merge run to
InnoDB: completion...
InnoDB: Full purge and insert buffer merge completed.
InnoDB: You have now successfully upgraded to the multiple tablespaces
InnoDB: format. You should NOT DOWNGRADE to an earlier version of
InnoDB: InnoDB! But if you absolutely need to downgrade, see
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/multiple-tablespaces.html
InnoDB: for instructions.
4)启动Mysql shell>
/usr/local/mysql5/bin/mysqld_safe --defaults-file=/usr/local/mysql5/my.cnf --user=mysql &
5)进入Mysql shell>
/usr/local/mysql5/bin/mysql -uroot -p -S/tmp/mysql5.sock
6)管理Mysql shell>
/usr/local/mysql5/bin/mysqladmin -uroot -p -S/tmp/mysql5.sock shutdown