服务器 多个mysql版本下载地址_在一个服务器中多个mysql版本并且运行多个实例实现过程...

本文详细介绍如何在一台服务器上部署多个MySQL实例,包括不同版本的安装、配置及启动过程。

mysql多实例的好处就不多说了 这里直接进入主题

一、格式化并挂载文件系统

将/dev/sdb 格式化为ext4

mkfs.ext4 -L DB /dev/sdb

mkdir /disk2

mount /dev/sdb /disk2

在配置文件fstab中添加如下内容

/dev/sdb                /disk2                          ext4    defaults        0 0

二、建立如下格式目录

/disk2/mysql5.1/data/3316,3317,3318

/disk2/mysql5.2/data/3326,3327,3328

/disk2/mysql5.5/data/3356,3357,3358

三、分别编译安装mysql 5.15.2    5.5三个包

下载地址分别为:

http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.1/mysql-5.1.60.tar.gz

http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.2/mysql-5.2.0-falcon-alpha.tar.gz

http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz

http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz

tar xf mysql-5.1.60.tar.gz

cd mysql-5.1.60

./configure--prefix=/disk2/mysql5.1/ --with-charset=gb2312 --with-extra-charsets=utf8,gb2312 --with-extra-charsets=gbk,gb2312

make

make install

./configure--prefix=/disk2/mysql5.2/ --with-charset=gb2312 --with-extra-charsets=utf8,gb2312 --with-extra-charsets=gbk,gb2312

make

make install

tar xf /mysql-5.5.25a.tar.gz

tar xf cmake-2.8.6.tar.gz

tar xf cmake-2.8.6.tar.gz

cd cmake-2.8.6

./configure

make

make install

cd ..

tar xf mysql-5.5.25a.tar.gz

cd mysql-5.5.25a

cmake -DCMAKE_INSTALL_PREFIX=/disk2/mysql5.5 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all-DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=OFF-DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock

make

make install

cd /usr/local/webserver/mysql

四、分别初始化以上九个数据目录

cd /disk2/mysql5.1/bin

./mysql_install_db--datadir=/disk2/mysql5.1/data/3316 --user=mysql

./mysql_install_db--datadir=/disk2/mysql5.1/data/3317 --user=mysql

./mysql_install_db--datadir=/disk2/mysql5.1/data/3318 --user=mysql

cd /disk2/mysql5.5/scripts

./mysql_install_db--datadir=/disk2/mysql5.5/data/3356 --user=mysql

./mysql_install_db--datadir=/disk2/mysql5.5/data/3356 --user=mysql

./mysql_install_db--datadir=/disk2/mysql5.5/data/3356 --user=mysql

chown -R mysql:mysql /disk2/mysql5.1/data/*

chown -R mysql:mysql /disk2/mysql5.2/data/*

chown -R mysql:mysql /disk2/mysql5.5/data/*

五、提供配置文件和脚本

cp /root/mysql-5.1.60/support-files/mysqld_multi.server /etc/init.d/mysql_multi5.1.server

cp /root/mysql-5.2/support-files/mysqld_multi.server /etc/init.d/mysql_multi5.2.server

cp /root/mysql-5.5.25a/support-files/mysqld_multi.server /etc/init.d/mysql_multi5.5.server

sed -i -e "s#basedir=/usr/local/mysql#basedir=/disk2/mysql5.1#" -e "s#bindir=/usr/local/mysql/bin#bindir=/disk2/mysql5.1/bin#"/etc/init.d/mysql_multi5.1.server

sed -i -e "s#basedir=/usr/local/mysql#basedir=/disk2/mysql5.2#" -e "s#bindir=/usr/local/mysql/bin#bindir=/disk2/mysql5.2/bin#"/etc/init.d/mysql_multi5.2.server

sed -i -e "s#basedir=/usr/local/mysql#basedir=/disk2/mysql5.5#" -e "s#bindir=/usr/local/mysql/bin#bindir=/disk2/mysql5.5/bin#"/etc/init.d/mysql_multi5.5.server

配置文件内容如下

cd /disk2/msyql5.1

./bin/mysqld_multi --example>>./mysqld_multi.cnf

vim mysqld_multi.cnf

[mysqld_multi]

mysqld     = /disk2/mysql5.1/bin/mysqld_safe

mysqladmin = /disk2/mysql5.1/bin/mysqladmin

#user= multi_admin

#password= my_password

[mysqld1]

socket     = /tmp/mysql.sock1

port       = 3316

pid-file   = /disk2/mysql5.1/data/3316/hostname.pid3316

datadir    = /disk2/mysql5.1/data/3316

language   = /disk2/mysql5.1/share/mysql/english

user= mysql

[mysqld2]

socket     = /tmp/mysql.sock2

port       = 3317

pid-file   = /disk2/mysql5.1/data/3317/hostname.pid3317

datadir    = /disk2/mysql5.1/data/3317

language   = /disk2/mysql5.1/share/mysql/english

user= mysql

[mysqld3]

socket     = /tmp/mysql.sock3

port       = 3318

pid-file   = /disk2/mysql5.1/data/3318/hostname.pid3318

datadir    = /disk2/mysql5.1/data/3318

language   = /disk2/mysql5.1/share/mysql/english

user= mysql

cd /disk2/msyql5.2

./bin/mysqld_multi--example >> ./mysqld_multi.cnf

vim mysqld_multi.cnf

[mysqld_multi]

mysqld     = /disk2/mysql5.2/bin/mysqld_safe

mysqladmin = /disk2/mysql5.2/bin/mysqladmin

#user= multi_admin

#password= my_password

[mysqld1]

socket     = /tmp/mysql.sock21

port       = 3326

pid-file   = /disk2/mysql5.2/data/3326/hostname.pid3326

datadir    = /disk2/mysql5.2/data/3326

language   = /disk2/mysql5.2/share/mysql/english/

user= mysql

[mysqld2]

socket     = /tmp/mysql.sock22

port       = 3327

pid-file   = /disk2/mysql5.2/data/3327/hostname.pid3327

datadir    = /disk2/mysql5.2/data/3327

language   = /disk2/mysql5.2/share/mysql/english/

user= mysql

[mysqld3]

socket     = /tmp/mysql.sock23

port       = 3328

pid-file   = /disk2/mysql5.2/data/3328/hostname.pid3328

datadir    = /disk2/mysql5.2/data/3328

language   = /disk2/mysql5.2/share/mysql/english/

user= mysql

cd /disk2/msyql5.5

./bin/mysqld_multi--example >> ./mysqld_multi.cnf

vim mysqld_multi.cnf

[mysqld_multi]

mysqld     = /disk2/mysql5.5/bin/mysqld_safe

mysqladmin = /disk2/mysql5.5/bin/mysqladmin

#user= multi_admin

#password= my_password

[mysqld4]

socket     = /tmp/mysql.sock51

port       = 3356

pid-file   = /disk2/mysql5.5/data/3356/hostname.pid3356

datadir    = /disk2/mysql5.5/data/3356

language   = /disk2/mysql5.5/share/english

user= mysql

[mysqld5]

socket     = /tmp/mysql.sock52

port       = 3357

pid-file   = /disk2/mysql5.5/data/3357/hostname.pid3357

datadir    = /disk2/mysql5.5/data/3357

language   = /disk2/mysql5.5/share/english

user= mysql

[mysqld6]

socket     = /tmp/mysql.sock53

port       = 3358

pid-file   = /disk2/mysql5.5/data/3358/hostname.pid3358

datadir    = /disk2/mysql5.5/data/3358

language   = /disk2/mysql5.5/share/english

user= mysql

六、测试并启动

检测组是否正常

./bin/mysql_multi--defaults-extra-file=/disk2/mysql5.1/mysqld_multi.cnf report

./bin/mysql_multi--defaults-extra-file=/disk2/mysql5.1/mysqld_multi.cnf start

cd /disk2/mysql5.2

./bin/mysql_multi--config-file==/disk2/mysql5.2/mysqld_multi.cnf start

cd /disk2/mysql5.5

./bin/mysql_multi--defaults-extra-file=/disk2/mysql5.5/mysqld_multi.cnf start

[root@server54 bin]# netstat -tnlp|grep mysqld

tcp        0      0 0.0.0.0:3316                0.0.0.0:*                   LISTEN      13777/mysqld

tcp        0      0 0.0.0.0:3317                0.0.0.0:*                   LISTEN      13790/mysqld

tcp        0      0 0.0.0.0:3318                0.0.0.0:*                   LISTEN      13797/mysqld

tcp        0      0 0.0.0.0:3356                0.0.0.0:*                   LISTEN      16836/mysqld

tcp        0      0 0.0.0.0:3357                0.0.0.0:*                   LISTEN      16843/mysqld

tcp        0      0 0.0.0.0:3326                0.0.0.0:*                   LISTEN      25719/mysqld

tcp        0      0 0.0.0.0:3358                0.0.0.0:*                   LISTEN      16849/mysqld

tcp        0      0 0.0.0.0:3327                0.0.0.0:*                   LISTEN      25728/mysqld

tcp        0      0 0.0.0.0:3328                0.0.0.0:*                   LISTEN      25732/mysqld

我再额外说明一点:

因为mysql启动的时候会首先检查/etc目录下是否有my.cnf配置文件,如果你以前用rpm包安装过mysqld会默认生成在/etc/mysql/my.cnf中,如果你想使用多实例,建议重命名这个文件,因为很多无法启动的错误和一些诡异的mysql服务错误是因为这个配置文件导致的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值