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

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

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


什么是多实例?

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


系统环境如下

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


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

mkdir -p /home/yuci/tools

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

创建mysql用户

useradd -s /sbin/nologin -M mysql

id mysql

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

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

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

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

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

mkdir /application     

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

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

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

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

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

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

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

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

mkdir /application/mysql/data/3306

mkdir /application/mysql/data/3307

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

初始化两个数据库

/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

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

vim /etc/init.d/mysql3307

basedir=/application/mysql

datadir=/application/mysql/data/3307

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

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

netstat -tlunp | grep 330

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

添加环境变量

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

上一篇:WIFI智能配网 - SmartConfig


下一篇:【算法与数据结构】最大子序列和问题