通过MySQL二进制包多实例搭建

本文介绍如何使用MySQL二进制包在一台服务器上部署多个独立的MySQL实例,包括配置不同端口和服务进程,设置my.cnf文件及启动脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天总结了一下MySQL多实例服务的搭建,分别是编译安装mysql,按照网上老男孩老师教的方法,通过脚本实现。还有一个是二进制mysql安装,简单几步方可实现。

这篇博客首先介绍一下通过mysql二进制包搭建多实例服务。


什么是多实例?

mysql多实例就是一台机器开启不同的数据端口,运行不同的服务进程,它们共用一套mysql安装程序,使用不同的 my.cnf 文件,启动|停止程序。


系统环境如下

wKiom1h3Lz6RtotEAAAcHh24Igo610.png


安装前先创建一个目录,养成好习惯,将安装包放到规定的目录中

mkdir -p /home/yuci/tools

image

创建mysql用户

useradd -s /sbin/nologin -M mysql

id mysql

image

由于是二进制的安装包,解压就能使用了

tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz

image

在 / 下创建 application 目录,用于存放解压后的 mysql 程序

mkdir /application     

image

将软件包移动到/application目录中,保留他的版本号,方便后人。哈哈

mv mysql-5.5.33-linux2.6-x86_64/ /application/mysql-5.5.33

image

因为有版本号,所以做一个软连接取出版本号

ln -s /application/mysql-5.5.33/ /application/mysql

image

分别创建多实例的数据库文件的存放目录

mkdir /application/mysql/data/3306

mkdir /application/mysql/data/3307

Image(5)

初始化两个数据库

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/3306 --user=mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/3307 --user=mysql

拷贝 mysql 的配置文件my.cnf

cp /application/mysql/support-files/my-small.cnf /application/mysql/data/3306/my.cnf

cp /application/mysql/support-files/my-small.cnf /application/mysql/data/3307/my.cnf

分别修改mysql 3306,3307的配置文件

vim /application/mysql/data/3306/my.cnf

[client]

#password       = your_password

port            = 3306

socket          = /tmp/mysql3306.sock

[mysqld]

port            = 3306

socket          = /tmp/mysql3306.sock

datadir=/application/mysql/data/3306

vim /application/mysql/data/3307/my.cnf

[client]

#password       = your_password

port            = 3307

socket          = /tmp/mysql3307.sock

[mysqld]

port            = 3307

socket          = /tmp/mysql3307.sock

datadir=/application/mysql/data/3307

将 /application/mysql 目录的属主属组全部修改为 mysql

chown -R mysql:mysql /application/mysql

给他们各自拷贝一个启动脚本并赋予权限

cp /application/mysql/support-files/mysql.server /etc/init.d/mysql3306

cp /application/mysql/support-files/mysql.server /etc/init.d/mysql3307

chmod 755 /etc/init.d/mysql3306

chmod 755 /etc/init.d/mysql3307

编辑 /etc/init.d/mysql3306   /etc/init.d/mysql3307 文件

vim /etc/init.d/mysql3306

basedir=/application/mysql

datadir=/application/mysql/data/3306

Image(6)

vim /etc/init.d/mysql3307

basedir=/application/mysql

datadir=/application/mysql/data/3307

Image(6)[1]

检查3306 3307端口是否正常开启

netstat -tlunp | grep 330

Image(7)

添加环境变量

ln -s /application/mysql/bin/* /usr/local/bin

为两个mysql数据库设定密码

mysqladmin -uroot password 123456 -S /tmp/mysql3306.sock

mysqladmin -uroot password 123456 -S /tmp/mysql3307.sock 

登陆时需要用 -S 指定 .sock 文件的位置

mysql -uroot -p123456 -S /tmp/mysql3306.sock

mysql -uroot -p123456 -S /tmp/mysql3307.sock

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1891423

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值