很多朋友都想在一台服务器上运行多个MySQL Instance,究竟怎么做呢?
首先要明晰几个原理, 简称为mysqld读取my.cnf的顺序:
第一搜,首先读取/etc/my.cnf,多实例这个配置文件不会存在。:-(
第二搜,$datadir/my.cnf,在data目录下寻找此配置文件。
第三搜,defaultfile=/path/my.cnf 通常写在命令行上,mysqld_safe defaultfile=/tmp/my.cnf &等执行。
第四搜,~/my.cnf 当前用户下的配置文件。
mysqld多进程运行的必要条件,就是pid文件,datadir,socket,port是独立分开的。
| Variable_name | Value |
| datadir | /home/mysql/ |
| Variable_name | Value |
| socket | /home/mysql/mysql.sock |
| Variable_name | Value |
| pid_file | /home/mysql/mysql.pid |
| Variable_name | Value |
| port | 3306 |
单一版本实现多实例
#pwd
/usr/local/
#touch my_multi.cnf
#cat my_multi.cnf
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
[mysqld1]
socket = /tmp/mysql_3301.sock
port = 3301
pid-file = /usr/local/mysql_3301/data/mysql_3301.pid
datadir = /usr/local/mysql_3301/data/
log = /usr/local/mysql_3301/data/mysql_3301.log
user = mysql
[mysqld2]
socket = /tmp/mysql_3302.sock
port = 3302
pid-file = /usr/local/mysql_3302/data/mysql_3302.pid
datadir = /usr/local/mysql_3302/data/
log = /usr/local/mysql_3302/data/mysql_3302.log
user = mysql
启动mysqld 的两个实例
/usr/bin/mysqld_multi –config-file=./my_multi.cnf start 1,2
Starting mysqld daemon with databases from /usr/local/mysql_3301/data/
Starting mysqld daemon with databases from /usr/local/mysql_3302/data/
查看3301,3302端口是否被监听
# netstat -lt |grep 33
tcp 0 0 *:3301 *:* LISTEN
tcp 0 0 *:3302 *:* LISTEN
测试mysql是否可以连通
#pwd
/usr/local/
通过/tmp/mysql_3301.sock连接3001端口的mysqld
# bin/mysql -u root -S /tmp/mysql_3301.sock -e “SELECT @@VERSION;”
停止3001端口的mysqld
# /usr/bin/mysqld_multi –config-file=./my_multi.cnf stop 1
STOPPING server from pid file /usr/local/mysql_3301/data/mysql_3301.pid
091010 11:56:04 mysqld ended
再次连接,系统会提示错误
# bin/mysql -u root -S /tmp/mysql_3301.sock -e “SELECT @@VERSION;”
ERROR 2002 (HY000):
Can’t connect to local MySQL server through socket ‘/tmp/mysql_3301.sock’ (2)
相同的步骤测试3002端口的mysqld,输出与上面相同。
# /usr/bin/mysql -u root -S /tmp/mysql_3302.sock -e “SELECT @@VERSION;”
# /usr/bin/mysqld_multi –config-file=./my_multi.cnf stop 2
# /usr/bin/mysql -u root -S /tmp/mysql_3302.sock -e “SELECT @@VERSION;”
补充上两句:
[Nova@imdba.cn mysql]# cp ../mysql-5.0.67/support-files/my-large.cnf /etc/my.cnf
[Nova@imdba.cn mysql]# cp ../mysql-5.0.67/support-files/mysql.server /etc/rc.d/init.d/mysqld
[Nova@imdba.cn mysql]# chkconfig –add mysql
[Nova@imdba.cn mysql]# chkconfig –level mysql 345 on
[Nova@imdba.cn mysql]# chkconfig –list mysql
http://www.imdba.cn/2009/10/10/more_mysqld_in_one_server/
分享到:
相关推荐
3. 如果是首次安装 MySQL,则会构建所需的所有预安装环境并创建第一个实例 4. 如果不是首次安装 MySQL,则会在原有基础上创建多实例 三、MySQL 5.7 多实例部署的脚本执行过程 1. 对传入的参数(端口号)做判断,...
### MySQL多实例部署详解 #### 一、背景与概述 在现代企业的生产环境中,为了提高数据库服务的可用性、灵活性及资源利用率,通常会采用MySQL多实例部署的方式。这种方式不仅能够满足不同业务线的需求隔离,还能...
### MySQL 8.0.11 多实例安装详解 ...当然,实际操作过程中可能会遇到各种各样的问题,希望本文提供的解决方案能帮助大家解决问题,顺利完成MySQL多实例的部署。如果还有其他疑问,请随时留言交流。
MySQL多实例指的是在一台物理服务器上,同时运行多个MySQL服务进程,每个进程负责不同的数据库实例,并且各实例使用不同的端口号、数据文件和配置文件,从而实现逻辑上的相互隔离。这是数据库管理员(DBA)的一项...
这些操作主要通过`mysqld_multi`脚本来实现,它能高效地管理多个实例的生命周期。 - **3.6 多实例数据库的登录** 登录到特定实例,需指定对应的`socket`文件,如`mysql --socket=/var/lib/mysql/mysql1.sock`。 ...
本文实例讲述了mysql触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...
- 系统复杂性增加:管理和维护多个实例比单个实例更复杂。 - 网络开销:如果实例间需要通信,可能会增加网络开销和复杂性。 总的来说,MySQL多实例是提升数据库服务灵活性和可靠性的有效手段,但同时也需要谨慎...
启动MySQL服务时需要指定每个实例的配置文件路径。实际命令如下: ``` mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null & mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 > /dev/null & ```...
这个软件包用于提高mysql多实例服务,可在一台服务器上运行多个mysql服务
现状:管理着几十个实例的MYSQL数据库,新版本升级时需要执行相同的数据库脚本,一个一个去手动升级耗时耗力,而且都是重复的手动操作,急需一款可以对多个数据库同时执行相同脚本的工具,且自己信得过的工具。...
在我们的生产环境中,很少一台db server就一个mysql实例,从节约成本和充分利用资源的角度出发,我们往往会在主从环境下,对从机的db server 安装多个mysql实例,用来同步主db server的相应实例
MySQL多实例安装配置是一种在一台服务器上运行多个独立MySQL服务的方法,这允许你为不同的应用程序或项目分配单独的数据库资源,提高系统管理和资源利用率。在本文中,我们将详细介绍在Ubuntu 11.1环境下,使用二...
为了安装多个实例,我们需要为每个实例使用不同的服务名称和配置文件路径。 1. **下载与选择版本**: 首先,你需要从MySQL官方网站下载适合你系统的安装包。确保下载的是带有“Developer Default”选项的安装程序...
在企业级应用中,为了提高资源利用率和方便管理,经常会在同一台服务器上部署多个MySQL实例。本文档旨在详细介绍如何在一个全新的服务器上通过源码编译安装MySQL 5.5.x,并在同一台服务器上配置两个MySQL实例:一个...
Prometheus 一个MySQL Exporter 监控多实例镜像,解压后使用docker build itsaysay.blog.csdn.net/mysqld_exporter:latest 打包(镜像名替换成自己的),教程:...
第三部分为参数的类型,该类型为 MySQL 数据库中所有可用的字段类型,如果有多个参数,参数之间可以用逗号进行分割。 存储过程的语句块 存储过程的语句块以 begin 开始,以 end 结束。语句体中可以包含变量的声明...
在本文中,我们将深入探讨如何连接到MySQL数据库,提供实例教程,以便更好地理解和实践。 首先,了解MySQL连接的基础知识至关重要。连接到MySQL数据库通常涉及以下四个核心元素: 1. **服务器地址(Host)**:这是...
Linux Mysql 5.6.X版本的二进制安装及多实例配置是一个涉及多步骤、细致操作的过程,主要目的是在Linux操作系统上安装MySQL数据库服务器,并且可以同时运行多个实例,来满足不同的数据库需求。以下是详细的知识点: ...