且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MySQL多实例(一)

更新时间:2022-09-13 16:56:29

一、基本概念

 1、MySQL多实例

       就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件。在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置文件对应的设定值,来取得相关硬件资源的多少。

 2、应用场景

1).采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移

2).为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法,把不同的数据库分配到不同的实例上提供数据服务

3).一台物理数据库服务器支撑多个数据库的数据服务,为提高mysql复制的从机的恢复效率,采用多实例部署

4).已经为双主复制的mysql数据库服务器架构,想部分重要业务的数据多一份异地机房的热备份,而mysql复制暂不支持多主的复制模式,且不给用户提供服务,为有效控制成本,会考虑异地机房部署一台性能超好的物理服务器,甚至外加磁盘柜的方式,为此也会部署多实例;

5).传统游戏行业的MMO/MMORPG,以及Web Game,每一个服都对应一个数据库,而可能要做很多数据查询和数据订正的工作,为减少维护而出错的概率,也可能采用多实例部署的方式,按区的概念分配数据库;

 3、作用与问题

   1).有效利用服务器的资源,单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。 

   2).资源互相争抢问题,比如 内存 ,cpu 需要开启 numa,并把 mysql 绑定到固定的核心上,网卡的中断请求,资源争用,最重要的是磁盘 IO

 MySQL多实例配置方法

    1.单一配置文件

    2.多配置文件。

二、实战步骤:

    1同步时间

    2准备mysql依赖包

    3、环境准备

            3.1添加mysql用户

            3.2编译安装mysql

   4、安装MySQL多实例

   5、准备配置文件

   6、启动MySQL

   7、登录mysql与一些安全措施

    8、关闭MySQL

    9,、提供简易管理脚本

   10、为mysql的root用户创建密码

    11、附,多配置文件安装mysql多实例,这里增加mysql 的3309端口

    12、总结

  1、同步时间

1
2
3
4
5
yum install epel*
ntp 202.120.2.101
yum install -y ntp
ntpdate 202.120.2.101
hwclock -w

  2、准备mysql依赖包

1
2
yum install -y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*
yum install cmake -y

  3、环境准备

  3.1添加mysql用户

1
2
3
4
5
groupadd mysql
useradd -g mysql mysql 
mkdir -pv /data/{3306,3307,3308}/data
chown -R mysql.mysql /data/
cd /usr/local/src/

    3.2编译安装mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
tar -xf mysql-5.5.45.tar.gz
cd mysql-5.5.45
chown mysql.mysql -R .
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
gmake
make install

 4、安装MySQL多实例


cd /usr/local/mysql/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/
本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1837085,如需转载请自行联系原作者