使用mysqld_multi实现单系统中配置多个MySQL服务器实例_Mysql

本文讲利用MySQL源码安装MySQL并用mysqld_multi配置多实例。

1、下载MySQL源码安装版本

到MySQL官网查找到相应版本下载,本文下载的是5.1版本

复制代码 代码如下:

wget -c ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/mysql-5.1.60.tar.gz 

2、解压安装

复制代码 代码如下:

tar -zxv -f mysql-5.1.60.tar.gz 
 
./configure --prefix=/usr/local/mysql --with-charset=utf8  
--with-extra-charset=all --enable-thread-safe-client --enable-assembler  
--with-readline --with-big-tables  
--with-named-curses-libs=/usr/lib/libncursesw.so.5 
 
make && make install 

3、添加用户和用户组

复制代码 代码如下:

groupadd mysql #添加mysql用户组 
useradd -g mysql mysql #创建mysql用户并把它放到mysql组下 
chown -R root:mysql /usr/local/mysql #修改mysql文件属性 

4、初始化数据目录

复制代码 代码如下:

#把用到的工具添加到/usr/bin目录 
ln -s /usr/local/mysql/bin/mysqld_multi /usr/bin/mysqld_multi 
ln -s /usr/local/mysql/bin/mysql_install_db /usr/bin/mysql_install_db 
 
#初始化四个数据目录 
mysql_install_db --datadir=/usr/local/var/mysql1 --user=mysql 
mysql_install_db --datadir=/usr/local/var/mysql2 --user=mysql 
mysql_install_db --datadir=/usr/local/var/mysql3 --user=mysql 
mysql_install_db --datadir=/usr/local/var/mysql4 --user=mysql 
 
#修改属性 
chown -R mysql /usr/local/var/mysql1  
chown -R mysql /usr/local/var/mysql2 
chown -R mysql /usr/local/var/mysql3  
chown -R mysql /usr/local/var/mysql4  

5、配置多实例启动脚本

    从MySQL的源码中把复制到/etc/init.d/目录下

复制代码 代码如下:

cp /usr/local/src/mysql-5.1.60/support-files/mysqld_multi.server /etc/init.d/mysqld_multi.server 
 
#修改basedir和bindir为安装路径 
basedir=/usr/local/mysql 
bindir=/usr/local/mysql/bin 

6、配置多实例数据库配置文件

用mysqld_multi工具查看该配置文件的模板方法,命令为:mysqld_multi --example
在/etc/目录下创建创建文件/etc/mysqld_multi.cnf,把mysqld_multi --example产生的文件粘进去,修改相应属性,如:mysqld,mysqladmin,socket,port,pid-file,datadir,user等。

复制代码 代码如下:

[mysqld_multi] 
mysqld     = /usr/local/mysql/bin/mysqld_safe 
mysqladmin = /usr/local/mysql/bin/mysqladmin 
#user       = mysql 
#password   = my_password 
 
[mysqld1] 
socket     = /usr/local/var/mysql1/mysql1.sock 
port       = 3306 
pid-file   = /usr/local/var/mysql1/mysql1.pid 
datadir    = /usr/local/var/mysql1 
#language   = /usr/local/mysql/share/mysql/english 
user       = mysql 
 
[mysqld2] 
socket     = /usr/local/var/mysql2/mysql2.sock 
port       = 3307 
pid-file   = /usr/local/var/mysql2/mysql2.pid 
datadir    = /usr/local/var/mysql2 
#language   = /usr/local/mysql/share/mysql/english 
user       = mysql 
 
[mysqld3] 
socket     = /usr/local/var/mysql3/mysql3.sock 
port       = 3308 
pid-file   = /usr/local/var/mysql3/mysql3.pid 
datadir    = /usr/local/var/mysql3 
#language   = /usr/local/mysql/share/mysql/english 
user       = mysql 
 
[mysqld4] 
socket     = /usr/local/var/mysql4/mysql4.sock 
port       = 3309 
pid-file   = /usr/local/var/mysql4/mysql4.pid 
datadir    = /usr/local/var/mysql4 
#language   = /usr/local/mysql/share/mysql/english 
user       = mysql 

7、启动多实例数据库

复制代码 代码如下:

将/usr/local/mysql/bin加到$PATH环境变量里 
export PATH=/usr/local/mysql/bin:$PATH 
 
#查看数据库状态 
mysqld_multi --defaults-extra-file=/etc/mysqld_multi.cnf report 
#结果都为没有运行 
Reporting MySQL servers 
MySQL server from group: mysqld1 is not running 
MySQL server from group: mysqld2 is not running 
MySQL server from group: mysqld3 is not running 
MySQL server from group: mysqld4 is not running 
 
#启动 
mysqld_multi --defaults-extra-file=/etc/mysqld_multi.cnf start 
#结果为 
Reporting MySQL servers 
MySQL server from group: mysqld1 is not running 
MySQL server from group: mysqld2 is not running 
MySQL server from group: mysqld3 is not running 
MySQL server from group: mysqld4 is not running 
 
#启动具体某一个实例可在start、stop后面加上具体数据1,2,3等 

8、查看运行结果

复制代码 代码如下:

#查看相应端口是否已经被监听 
netstat -tunlp 
 
#查看是否有活动进程 
ps -aux|grep mysql 

9、登录相应数据库

复制代码 代码如下:

#进入端口为3306的数据库 
mysql -uroot -p -h127.0.0.1 -P3306 
 
#通过sock文件登录 
mysql -uroot -p -S /usr/local/var/mysql1/mysql1.sock 
 
 #查看socket文件 
mysql> SHOW VARIABLES LIKE 'socket'; 
 
#查看pid文件 
mysql> SHOW VARIABLES LIKE '%pid%'; 

时间: 2024-09-20 08:04:01

使用mysqld_multi实现单系统中配置多个MySQL服务器实例_Mysql的相关文章

Ubuntu中配置nginx + php + mysql服务器

1.安装php5  代码如下 复制代码 apt-get install php-pear php5-cli php5-common php5-cgi php5-mysql php5-gd php5-dev 2.安装mysql5  代码如下 复制代码 apt-get install mysql-server mysql-client libipc-sharedcache-perl 3.安装nginx  代码如下 复制代码 apt-get install nginx 配置nginx如下  代码如下

Windows系统中配置域控制器时别忽视DNS设置

域控制器是公司网络管理的核心,它出现故障往往会导致全网用户计算机的登录失败.不过,大家在建立域控制器时往往忽视了对DNS的设置,致使域中的DNS频频引发故障.你是否知道DNS的重要性呢?如果DNS设置出问题会带来什么样的后果呢?笔者负责公司服务器的维护工作,最近在实际工作中就遇到了一起突发的与DNS相关的服务器故障. 故障现象 公司规模不是很大,大概有50多台计算机,购买了两台IBM服务器.由于内部使用的某个应用软件需要Windows域的支持,所以在这两台IBM服务器上启用了windows 20

分析Apache 与linux系统中配置

1.备份Apache服务的主配置文件 [root@KCentOS5C ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup 2.linux系统中配置Apache服务的主配置文件 [root@KCentOS5C ~]# vi /etc/httpd/conf/httpd.conf 这里主要改动以下这些参数: ServerName *:80 配置Apache的服务器名,如果有域名的话请填写正确的服务器名. Include

window7系统下配置IIS搭建web服务器的步骤

window7系统下配置IIS搭建web服务器的步骤 IIS全名Internet Information Services(IIS,互联网信息服务),在之前的在Windows 2000.Windows XP Professional和Windows Server 2003 都可以配置,现在我们在使用win7系统,由于特定的需要,我们要在win7系统下配置IIS可以吗?没问题windows7同样的也包含了IIS,只需要我们去启用并配置它. 下面我们就开始IIS的配置: 1.进入Windows7的控

RHEL/CentOS 7 中配置 PXE 网络启动服务器

RHEL/CentOS 7 中配置 PXE 网络启动服务器 PXE服务器--预启动执行环境--指示客户端计算机直接从网络接口启动.运行或安装操作系统,而不需要烧录CD/DVD或使用某个物理介质,它可以减轻你网络中多台机器同时安装Linux发行版的工作. 在RHEL/CentOS 7中设置PXE网络启动 前置阅读 CentOS 7最小化安装步骤 RHEL 7最小化安装步骤 在RHEL/CentOS 7中配置静态IP地址 移除RHEL/CentOS 7中不要的服务 安装NTP服务器以设置RHEL/C

如何在Win 2003系统中配置ASP.net环境

  一.IIS6.0 新特点 IIS 6.0 包括许多新功能,它们旨在帮助企业.IT 专业人士和 Web 管理员实现其网站(他们可能拥有位于单个 IIS6.0 服务器或多个服务器上的数千个网站)在性能.可靠性.可伸缩性和安全性方面的目标. 下表总结了不同版本的 IIS 之间的重要区别.   IIS 4.0 IIS 5.0 IIS 5.1 IIS 6.0 平台 Windows NT 4.0 Windows 2000 Windows XP Professional Windows Server 20

在Ubuntu系统中配置chroot环境的教程

  你可能会有很多理由想要把一个应用.一个用户或者一个环境与你的 linux 系统隔离开来.不同的操作系统有不同的实现方式,而在 linux 中,一个典型的方式就是 chroot 环境. 在这份教程中,我会一步一步指导你怎么使用 chroot 命令去配置一个与真实系统分离出来的独立环境.这个功能主要可以用于测试项目,以下这些步骤都在 Ubuntu 14.04 虚拟专用服务器(VPS)上执行. 学会快速搭建一个简单的 chroot 环境是一项非常实用的技能,绝大多数系统管理员都能从中受益. Chr

linux系统中配置vsftpd及用户权限

先确认下安装上了没,可以使用  代码如下 复制代码 [root@localhost sv005-mongodb]# service vsftpd restart Shutting down vsftpd:                                      [  OK  ] Starting vsftpd for vsftpd:                                [  OK  ] 或者使用命令 [root@localhost sv005-mong

详解Linux系统中配置静态路由的方法

  主机只有一块网卡的时候,不会涉及到默认路由和静态路由的问题.两块网卡时,也可以一块配置有网关(默认路由走这个网卡),另外一块只配置IP和掩码确认(该主机同网络的可以互通).不过在稍大型的.有多网段的环境里就需单独进行默认路由和静态路由的配置了. 一.需求 目前有如下的一个网络,主机有两个网卡,两个网段分别是是业务地址eth0和管理地址eth1. 业务地址段为:192.168.3.0/24段 管理地址段:10.212.52.0/24段 防火墙段:10.211.6.0/24段 现在的需求是,默认