`
javatgo
  • 浏览: 1123385 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

MySQL启多个实例

阅读更多

很多朋友都想在一台服务器上运行多个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/

分享到:
评论

相关推荐

    mysql多实例部署

    mysql5.7在生产环境redhat7.2中,多个实例安装部署详细步骤记录

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

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

    库飞侠 MYSQL 多实例 多数据库 批量升级

    现状:管理着几十个实例的MYSQL数据库,新版本升级时需要执行相同的数据库脚本,一个一个去手动升级耗时耗力,而且都是重复的手动操作,急需一款可以对多个数据库同时执行相同脚本的工具,且自己信得过的工具。...

    MySQL多实例原理与安装

    在我们的生产环境中,很少一台db server就一个mysql实例,从节约成本和充分利用资源的角度出发,我们往往会在主从环境下,对从机的db server 安装多个mysql实例,用来同步主db server的相应实例

    mysql触发器之创建多个触发器操作实例分析

    本文实例讲述了mysql触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...

    mysql存储过程之返回多个值的方法示例

    本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...

    MySQL快速入门(实例)

    MySQL的基本操作的例子,只用一个小时就可以学会,关键是多练习

    MySQL数据库应用与开发实例

    虽然对MySQL的开发不能出一份力,但可为它的推广使用尽一份心,面对500多页的参考手册,知道要精确译出它决非易事,但愿几个月的心血能为大家提供一丝微薄的帮助。 由于本人水平有限,文中肯定有不准确的地方,敬请...

    mysql存储过程之case语句用法实例详解

    本文实例讲述了mysql存储过程之case语句用法。分享给大家供大家参考,具体如下: 除了if语句,mysql提供了一个替代的条件语句CASE。 mysql的 CASE语句使代码更加可读和高效。废话不多说,我们先来看下简单case语句的...

    用JDBC操作mysql数据库的实例的源代码

    这是我用JDBC与mysql数据库连接及交互的很多实例的源代码,里面有一个完整的javaweb工程,工程下面有很多用JDBC操作mysql数据库的实例.你可以根据你的需要方便的修改这些实例程序的代码,并用到你的javaweb项目中.

    如何在Windows中运行多个MySQL实例详解

    在Windows中可以从命令行为每个实例使用合适的操作参数来手动启动多个MySQL实例或者通过以Windows服务方式来安装多个服务器来运行。 1.在windows中MySQL的base目录中创建两个新实例的数据目录data3307,data3308 2.为...

    Prometheus MySQL Exporter 监控多实例镜像

    Prometheus 一个MySQL Exporter 监控多实例镜像,解压后使用docker build itsaysay.blog.csdn.net/mysqld_exporter:latest 打包(镜像名替换成自己的),教程:...

    单台机器启动多个mysql实例.pdf

    有时候需要在一台机器上启动多个mysql实例, 下面的例子,说明在一台机器上,再启动一个实例,监听3307端口。

    mysql设置指定ip远程访问连接实例

    主要介绍了mysql设置指定ip远程访问连接的方法,分别实例讲述了从任意主机和指定ip访问远程MySQL数据库的方法,代码简单功能实用,需要的朋友可以参考下

    Centos中安装多个mysql数据的配置实例

    注:本文档做了两个MYSQL实例,多个实例方法以此类推 LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包)数据库一:MYSQL版本:mysql-5.0.56PORT:3306系统目录:/usr/local/mysql3306数据库二:MYSQL版本:mysql-5.1.72...

    SSH+MySQL整合用户信息实例

    菜鸟初学SSH 做了个用户登录信息管理的实例 在老鸟面前班门弄斧了。请多指出存在的问题

    免费下载 库飞侠 MYSQL 多实例 多数据库 批量升级

    现状:管理着几十个实例的MYSQL数据库,新版本升级时需要执行相同的数据库脚本,一个一个去手动升级耗时耗力,而且都是重复的手动操作,急需一款可以对多个数据库同时执行相同脚本的工具,且自己信得过的工具。...

    Archery mysql-exprt修改后的资源包,可以一个监控多个mysql实例

    改造mysqld_exporter 使之可以http传参dsn,变成一个blackbox_exporter形式的探针 这样一个mysqld_exporter 探针可以探测多个mysql实例 通过relabel正则解析dsn,获取instance标签

    Python将Mysql数据分多个工作表导出到Excel

    Python查询mysql数据并将数据按不同的工作表sheet导出到excel的完整代码实例。有完整的代码及注释,可根据自身需要更换sql即可。

Global site tag (gtag.js) - Google Analytics