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

2017-01-12 19:09:22来源:作者:人点击

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

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

系统环境如下




安装前先创建一个目录,养成好习惯,将安装包放到规定的目录中
mkdir -p /home/yuci/tools



创建mysql用户
useradd -s /sbin/nologin -M mysql
id mysql



由于是二进制的安装包,解压就能使用了
tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz



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




将软件包移动到/application目录中,保留他的版本号,方便后人。哈哈
mv mysql-5.5.33-linux2.6-x86_64/ /application/mysql-5.5.33



因为有版本号,所以做一个软连接取出版本号
ln -s /application/mysql-5.5.33/ /application/mysql



分别创建多实例的数据库文件的存放目录
mkdir /application/mysql/data/3306
mkdir /application/mysql/data/3307



初始化两个数据库
/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



vim /etc/init.d/mysql3307
basedir=/application/mysql
datadir=/application/mysql/data/3307



检查3306 3307端口是否正常开启
netstat -tlunp | grep 330



添加环境变量
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
本文出自 “LULU” 博客,请务必保留此出处http://aby028.blog.51cto.com/5371905/1891423

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台