`
xgbjmxn
  • 浏览: 269364 次
  • 性别: Icon_minigender_1
  • 来自: 新乡
社区版块
存档分类
最新评论

一台服务器上配置多台Mysql实例

阅读更多
一台服务器上配置多台Mysql实例
2011-07-25 14:20

1  先配置一个mysql数据库  并创一个可以关闭数据库的账号grant shutdown on *.* to multi_admin@'localhost' identified by '123456';  装完第一个就创建  在第三步时 账号也就cp 过去了。   安装第一个数据库参照以前写过的文档
2 stop mysql  
3  cp 第一个数据库的目录  到第二个数据库  第三个数据库  第四个数据库    例如:第一个数据库文件放到/usr/loca/mysq/var   cp -P var var1     第三个和第四个一样

4  写配置文件  如下 /etc/my.cnf
[mysql]

character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8
disable-auto-rehash

[mysqladmin]
character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8

[mysqlcheck]
character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8

[mysqldump]
character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8

[mysqlimport]
character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8

[mysqlshow]
character-sets-dir=/usr/local/mysql/share/mysql/charsets
default-character-set=utf8

[myisamchk]
character-sets-dir=/usr/local/mysql/share/mysql/charsets

[myisampack]
character-sets-dir=/usr/local/mysql/share/mysql/charsets

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log     = /var/log/mysql/mysql.err


[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = 123456
[mysqld0]
character-set-server            = utf8
default-character-set           = utf8
port      = 3306
socket    = /var/run/mysql/s0
#socket = /var/run/mysql/mysql1.sock
pid-file = /var/run/mysql/db-app1.pid
log-error = /var/log/mysql/mysql1err.log
#log = /var/log/mysql/db1-app.log
datadir = /usr/local/mysql/var
max_allowed_packet                      = 1M
table_cache                             = 64
sort_buffer_size                        = 512K
net_buffer_length                       = 8K
read_buffer_size                        = 256K
read_rnd_buffer_size            = 512K
myisam_sort_buffer_size         = 8M
language                                        = /usr/local/mysql/share/mysql/english
max_user_connections     = 5
max_connections         = 300
open_files_limit = 16384
skip-show-database
user = mysql
#skip-innodb
tmpdir                                          = /tmp/
server-id                                       = 1
skip-networking


[mysqld1]
character-set-server            = utf8
default-character-set           = utf8
port = 3307
socket = /var/run/mysql/s1
#socket = /var/run/mysql/mysql2.sock
pid-file = /var/run/mysql/db-app2.pid
datadir = /usr/local/mysql/var1
log-error = /var/log/mysql/mysql2err.log
#log = /var/log/mysql/db2-app.log
user = mysql
max_allowed_packet                      = 1M
table_cache                             = 64
sort_buffer_size                        = 512K
net_buffer_length                       = 8K
read_buffer_size                        = 256K
read_rnd_buffer_size            = 512K
myisam_sort_buffer_size         = 8M
language                                        = /usr/local/mysql/share/mysql/english
max_user_connections     = 5
max_connections         = 300
open_files_limit = 16384
skip-show-database
#user = mysql
#skip-innodb
tmpdir                                          = /tmp/
server-id                                       = 1
skip-networking

[mysqld2]
character-set-server            = utf8
default-character-set           = utf8
port = 3308
socket = /var/run/mysql/s2
#socket = /var/run/mysql/mysql3.sock
pid-file = /var/run/mysql/db-app3.pid
datadir = /usr/local/mysql/var2
log-error = /var/log/mysql/mysql3err.log
#log = /var/log/mysql/db3-app.log
user = mysql
max_allowed_packet                      = 1M
table_cache                             = 64
sort_buffer_size                        = 512K
net_buffer_length                       = 8K
read_buffer_size                        = 256K
read_rnd_buffer_size            = 512K
myisam_sort_buffer_size         = 8M
language                                        = /usr/local/mysql/share/mysql/english
max_user_connections     = 5
max_connections         = 300
open_files_limit = 16384
skip-show-database
#skip-innodb
tmpdir                                          = /tmp/
server-id                                       = 1
skip-networking

[mysqld3]
character-set-server            = utf8
default-character-set           = utf8
port = 3309
socket = /var/run/mysql/s3
#socket = /var/run/mysql/mysql4.sock
pid-file = /var/run/mysql/db-app4.pid
datadir = /usr/local/mysql/var3
log-error = /var/log/mysql/mysql4err.log
#log = /var/log/mysql/db4-app.log
user = mysql
max_allowed_packet                      = 1M
table_cache                             = 64
sort_buffer_size                        = 512K
net_buffer_length                       = 8K
read_buffer_size                        = 256K
read_rnd_buffer_size            = 512K
myisam_sort_buffer_size         = 8M
language                                        = /usr/local/mysql/share/mysql/english
max_user_connections     = 5
max_connections         = 300
open_files_limit = 16384
skip-show-database
#skip-innodb
tmpdir                                          = /tmp/
server-id                                       = 1
skip-networking
[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash


[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

5 用/usr/local/mysql/bin/mysqld_multi --config-file=/etc/my.cnf start 0-3  启动四个数据库   原来的/usr/local/mysql/share/mysql/mysql.server  start 不要用了。 当然也可以只启动其中一个 或者几个   有start 后面的数字决定   0-3 代表着 my.cnf 文件中的  mysqld0-3   

如果要停止数据库  同样的方法 把start 修改成 stop   也可以写一个脚本  然后直接运行脚本也行


6  在/usr/local/bin 创建一个 mysql文件 并给予执行的权限 内容如下;
#!/bin/sh

BIN=/usr/bin/mysql
SS=`echo $0 | sed -e "s/.*_//"`

if [ $SS = $0 ]; then
        /usr/bin/mysql $*
else
        if [ -n $SS ] ; then
                /usr/bin/mysql -S /var/run/mysql/$SS $*
        else
                /usr/bin/mysql $*
        fi
fi

注意:mysql的sock文件必须为s0 和 s1 s2 s3 s4 等等

然后 在同级目录下 创建  link  目录的是 可以用mysql_s0  mysql_s1 进入不同的数据库
ln -s mysql mysql_s0
ln -s mysql mysql_s1
后面的省略

7 创建一个 mysql_walk.sh 文件 赋予 执行权限    用途:执行这个文件 能直接查看到s1 s2 s3 s4的所有进程数     内容如下:

#!/bin/sh

for I in 0 1 2 3; do
        mysqladmin -S /var/run/mysql/s${I} processlist
done

其中mysqladmin 文件如果不在/usr/sbin 那么就写绝对路径


说明 :  这样配置的mysql php程序连接时   服务器地址写localhost:3306 是不行的   必须写  localhost:/var/run/mysql/s0这样   /var/run/mysql/s0是第一个数据库的端口。
分享到:
评论

相关推荐

    mysql多实例详细配置

    在IT领域,尤其是数据库管理中,**MySQL多实例配置**是一项高级而实用的技术,它允许在同一台服务器上运行多个独立的MySQL数据库实例,从而提高资源利用效率并满足不同的业务需求。以下是对这一技术的深入解析。 ##...

    MySQL实现多实例方式运行揭秘

    比如在一台服务器上同时运行MySQL 5.5和MySQL 5.7的实例,或者根据不同的服务需求设置不同的配置参数。 为了设置MySQL多实例运行,通常需要以下几个步骤: 1. 关闭默认端口3306的MySQL服务。这通常涉及到使用系统...

    一台服务器两个mysql配置文件

    在这个场景下,"一台服务器两个mysql配置文件"的描述指的是在同一台服务器上运行了两个MySQL服务,分别使用了不同的配置文件——`my.cnf-3306`和`my.cnf-3307`。 `my.cnf`是MySQL服务器的主要配置文件,它包含了...

    Mysql_多实例安装配置方法一

    完成上述步骤后,你已经在同一台服务器上成功配置了两个独立的MySQL实例,每个实例都有自己的端口、套接字和数据存储目录,能够独立运行和管理。这样的配置方式有助于资源隔离和优化,特别适合需要多个数据库服务的...

    生产环境MySQL 5.5.x单机多实例配置实践

    本文档旨在详细介绍如何在一个全新的服务器上通过源码编译安装MySQL 5.5.x,并在同一台服务器上配置两个MySQL实例:一个监听3306端口且不开启二进制日志(binlog),另一个监听3307端口并开启binlog。此外,两个实例...

    linux运维学习笔记:MySQL多实例配置实战.pdf

    服务器硬件资源包括CPU、内存、磁盘和网络等,通过在一台服务器上设置多个MySQL实例,可以将每个实例所需的资源合理地分配,实现资源的逻辑隔离。在进行数据复制等技术操作时,多实例配置特别有优势,比如可以设置...

    mysql多实例部署

    通过以上步骤,我们可以在同一台服务器上成功部署并运行多个MySQL实例。这种方式不仅可以提高资源利用率,还能更好地支持不同的业务需求。需要注意的是,在实际生产环境中,还需要根据具体的业务场景调整各个实例的...

    mysql8.0.11多实例安装

    通过上述步骤,我们成功地在一台服务器上安装了两个MySQL实例,并对关键配置项进行了详细解释。这种方式不仅可以提升数据库系统的稳定性和性能,还能更好地支持复杂的业务场景。当然,实际操作过程中可能会遇到各种...

    mysql多实例.docx

    在一台服务器上部署多个MySQL实例能够提高资源利用率,并且方便进行隔离管理和维护。以下将详细介绍如何在同一台虚拟机上配置MySQL数据库多实例。 ##### 1. 建立目录结构 为了清晰地区分各个实例,首先需要创建...

    提高mysql多实例服务的软件包

    这个软件包用于提高mysql多实例服务,可在一台服务器上运行多个mysql服务

    mysql多实例

    MySQL多实例是指在同一台服务器上运行多个独立的MySQL服务,每个服务都拥有自己的配置、数据文件和日志,可以独立管理。这样的设置在资源充足且需要隔离不同业务场景或者提高数据库服务可用性的环境中非常常见。以下...

    mysql多实例多配置文件安装.docx

    MySQL多实例多配置文件安装是数据库管理中的一个重要概念,它允许在同一台服务器上运行多个独立的MySQL服务,每个服务对应不同的端口和配置文件。这种安装方式常用于满足不同业务需求,例如隔离不同应用程序的数据...

    Linux服务器中安装多个MySQL5.6.26详解

    在Linux服务器环境中,有时我们需要在同一台机器上同时运行多个MySQL版本,以满足不同应用程序的需求。本文将详细讲解如何在已存在一个低版本MySQL的情况下,安装一个新的MySQL 5.6.26版本,无论选择源码包还是二...

    一台电脑同时安装MySQL5.x版本和MySQL8.x版本

    这篇文章将详细介绍如何在一台电脑上安全、有效地同时安装这两个版本。 首先,了解为什么需要同时安装多个MySQL版本。这通常是因为某些应用可能依赖于特定版本的数据库,或者开发者需要在新旧版本之间进行兼容性...

    MySQL多实例配置方案

    在一台服务器上同时运行多个MySQL服务进程,它们各自监听不同的端口并提供独立的服务,这就是MySQL多实例部署。这种配置方式能够在同一物理机上为不同的应用或不同的服务需求提供独立的数据库实例,从而提高资源利用...

Global site tag (gtag.js) - Google Analytics