CleverCode最近在研究MySQL的多实例,发现有两种方式:
          第一种是使用多个配置文件启动不同的进程来实现多实例。这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。
          第二种是通过官方自带的mysqld_multi。使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理。
          推荐使用多个配置文件方式。这种实际应用中好,耦合性不强,配置方便,特别是主从复制的时候。
          这里分两次介绍,先介绍多个配置文件方式。

1 环境介绍:

1)简介
mysql 版本:mysql-5.5.27
cmake:cmake-2.8.8
操作系统:CentOS6.5
mysql实例数:3个
实例占用端口分别为:3306、3307、3308

2)本次安装所有的软件资源包下载地址
http://download.csdn.net/detail/clevercode/8662323

2 配置防火墙
1) 在防火墙配置文件中添加3306,3307,3308(允许3306,3307,3308端口通过防火墙) 
# vi /etc/sysconfig/iptables   #编辑防火墙配置文件 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3308 -j ACCEPT
2)重启防火墙
# /etc/init.d/iptables restart  #最后重启防火墙使配置生效

3 安装cmake
解压
# cd /usr/local/src/mysql
# tar zxvf cmake-2.8.8.tar.gz
# cd cmake-2.8.8

配置
# ./configure

编译
# make

安装
# make install

查看版本
# cmake -version

4 安装Mysql
1) 创建用户
# groupadd mysql  #添加mysql组    
# useradd -g mysql mysql -s /bin/false  #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

2) 解压
# cd /usr/local/src/mysql
# tar zxvf mysql-5.5.27.tar.gz
# cd mysql-5.5.27

4) 配置
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

PS: cmake的时候,参数可以不用那么多,只要一个-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就行了,我们可以在 my.cnf里面配置。[mysqld]中的内容,看看你copy后的my.cnf有没有这些设置,有就不用了在设置了。

5)编译
# make

6)安装
# make install

5 初始化数据库
# mkdir -p /data0/dbdata/mysql/3306
# mkdir -p /data0/dbdata/mysql/3307
# mkdir -p /data0/dbdata/mysql/3308

# chown -R mysql:mysql /data0/dbdata/mysql/3306
# chown -R mysql:mysql /data0/dbdata/mysql/3307
# chown -R mysql:mysql /data0/dbdata/mysql/3308

# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3306 --user=mysql
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3307 --user=mysql
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3308 --user=mysql

6 修改配置文件
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3306/my.cnf
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3307/my.cnf
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3308/my.cnf

# vi /data0/dbdata/mysql/3308/my.cnf   #编辑配置文件(3306,3307同理)
#在 [client]部分修改一下数据
port = 3308
socket = /tmp/mysql3308.sock

#在 [mysqld] 部分修改数据
port = 3308
socket = /tmp/mysql3308.sock
datadir = /data0/dbdata/mysql/3308  #添加MySQL数据库路径 
   
:wq!  #保存退出

7 创建自动启动文件 
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3306
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3307
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3308
# chmod 755 /etc/rc.d/init.d/mysqld3306
# chmod 755 /etc/rc.d/init.d/mysqld3307
# chmod 755 /etc/rc.d/init.d/mysqld3308

# vi /etc/rc.d/init.d/mysqld3308  #编辑 (3306,3307同理)   
basedir=/usr/local/mysql   #MySQL程序安装路径    
datadir=/data0/dbdata/mysql/3308  #MySQl数据库存放目录

修改
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
变成
$bindir/mysqld_safe --defaults-file="$datadir/my.cnf" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

8 启动3306、3307、3308的mysql 
# service mysqld3306 restart
# service mysqld3307 restart
# service mysqld3308 restart

9 查看端口是否监听,如果出现3306,3307,3308则启动正常
# netstat -anp | grep 3308

tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      2348/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     10780  2348/mysqld         /tmp/mysql3308.sock

10 初始化密码并且授权远程登录(3306,3307同理)
# /usr/local/mysql/bin/mysqladmin -u root password "pwd3308" -S /tmp/mysql3308.sock
# /usr/local/mysql/bin/mysql -uroot -ppwd3308 -S  /tmp/mysql3308.sock
mysql> grant all privileges on  *.* to 'root'@'%' identified by 'pwd3308' with grant option;
mysql> flush privileges;

本文出自http://blog.csdn.net/clevercode/article/details/47610619

转载于:https://blog.51cto.com/lookingdream/1856715

mysql多实例(多个配置文件方式)相关推荐

  1. linux mysql多实例启动不了_linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启 ...

  2. mysql的配置文件几个_mysql多实例(多个配置文件方式)

    1)简介mysql 版本:mysql-5.5.27cmake:cmake-2.8.8操作系统:CentOS6.5mysql实例数:3个实例占用端口分别为:3306.3307.33082)本次安装所有的 ...

  3. mysql 5.7 配置多实例 — 独立配置文件方式

    2019独角兽企业重金招聘Python工程师标准>>> 使用独立配置文件来实现 mysql 的单机多实例 一下教程皆以已在 /usr/local 下安装了 mysql 为说明 我们将 ...

  4. mysql 多实例 独立配置文件_mysql 5.7 配置多实例 — 独立配置文件方式

    使用独立配置文件来实现 mysql 的单机多实例 一下教程皆以已在 /usr/local 下安装了 mysql 为说明 我们将在原 3306 实例的基础上新建 3307 和 3308 两个实例 1.创 ...

  5. mysql多实例(mysqld_multi方式)

    以下内容为在学习MYSQL 过程中的实验步骤, mysql多实例(mysqld_multi方式) 1.建立各个实例的目录 [root@mdw ~]# mkdir /mnt/data/mysql/330 ...

  6. 多个数据文件 mysql_mysql多实例(多个配置文件方式)

    CleverCode最近在研究mysql的多实例,发现有两种方式: 第一种是使用多个配置文件启动不同的进程来实现多实例.这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便. 第二种是通过官方自带 ...

  7. mysql 多实例 独立配置文件_三、安装配置多实例MYSQL5.6-多独立配置文件方法

    三.安装配置多实例MYSQL5.6-多独立配置文件方法 1.准备工作 检查操作系统版本.内核版本.selinux是否关闭.防火墙策略.IP地址.主机名配置.host表配置.yum配置 上传cmake. ...

  8. mysql多实例安装配置_MySQL多实例安装配置

    MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率.另外在MySQL5.7以上版本还不支持多源复制时,当 ...

  9. mysql服务实例配置_MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

最新文章

  1. AngularJS安装配置与基础概要整理(上)
  2. 马斯克39也火星计划PPT
  3. java中Hashtable中的t为什么是小写(转)
  4. 【转载】关于HttpClient 接口方法总结
  5. 机器学习(part4)--模型评估
  6. 开单大师(开源可定制的房产管理系统) v3.6.9学习版
  7. 构建高性能.NET应用之配置高可用IIS服务器-第五篇 IIS常见问题之:工作进程回收机制(中)...
  8. C语言oo1cpp怎么进,cpp 第八章第7题解决办法
  9. u-boot的补丁文件patch
  10. java.util.Arrays$ArrayList addAll报错
  11. java计算机毕业设计服装连锁店后台管理系统MyBatis+系统+LW文档+源码+调试部署
  12. 专利申请--权利要求书vs说明书
  13. 心形函数表达式及合成思路
  14. 练习一万小时;2000-5000 小时计划和建议;现在开始!---读《异类》后刚好遇到的一篇文章
  15. 快桃科技居然给我无条件双倍工资!却又整天瞎搞
  16. 一个程序员的奋斗经历
  17. 半导体激光芯片商长光华芯完成B轮1.5亿融资,推进三类主营业务战略建设
  18. python爬取都挺好影视评论,看看大家的共鸣度有多强?
  19. 计算机小知识——键盘三颗灯含义
  20. php aco什么意思,红酒ACO是什么意思?

热门文章

  1. http 403错误解决
  2. 利用List比较数组有优势吗?
  3. Windows 上连接本地 Linux虚拟机上的 mysql 数据库
  4. linux命令之crontab定时执行任务【转】
  5. Linux优化和目录结构
  6. Freebsd 下用 sshguard 防止暴力破解 ssh 密码
  7. Sql查询一个表中除了某个字段以外的所有字段的方法
  8. Core禁用BIP70或只为制造闪电网络硬需求
  9. Spring 自动装配及其注解
  10. C++编写Config类读取配置文件