首页 > 数据库 > MySQL > 正文

MySQL如何配置多示例

2024-07-24 12:36:13
字体:
来源:转载
供稿:网友
  这篇文章主要讲解了MySQL如何配置多实例,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
 
  所有的操作都是基于单实例的,mysql多实例在实际生产环境也是非常实用的,因为必须要掌握。
 
  1、什么是多实例
 
  多实例就是一台服务器上开启多个不同的服务端口(默认3306),运行多个mysql的服务进程,这此服务进程通过不同的socket监听不同的服务端口来提供各在的服务,所有实例之间共同使用一套MYSQL的安装程序,但各自使用不同的配置文件、启动程序、数据文件,在逻辑上是相对独立的。
 
  多实例主要作用是:充分利用现有的服务器硬件资源,为不同的服务提供数据服务,但是如果某个实例并发比较高的,同样是会影响到其它实例的性能
 
  2、安装多实例环境准备
 
  安装前需要先安装mysql,但是只需将安装过程进行到make install即可(编译安装),如果使用免安装程序,只需解压软件包即可,今天的环境是通过免安装包来安装mysql主程序(其它的安装可以参考前面的安装过程自行测试)
 
  系统环境
 
  [root@centos6 ~]# cat /etc/redhat-release
 
  CentOS release 6.5 (Final)
 
  [root@centos6 ~]# uname -r
 
  2.6.32-431.el6.x86_64
 
  安装程序
 
  mysql-5.5.52-linux2.6-x86_64.tar.gz
 
  首先将软件下载到本地
 
  wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.52-linux2.6-x86_64.tar.gz
 
  创建安装用户
 
  [root@centos6 ~]#groupadd mysql
 
  [root@centos6 ~]#useradd mysql -s /sbin/nologin -g mysql -M
 
  [root@centos6 ~]#tail -1 /etc/passwd
 
  mysql:x:500:500::/home/mysql:/sbin/nologin
 
  创建多实例的数据目录
 
  [root@centos6 tools]# mkdir -p /data/{3306,3307}
 
  [root@centos6 tools]# tree /data/
 
  /data/
 
  +-- 3306
 
  +-- 3307
 
  2 directories, 0 files
 
  3、安装MYSQL多实例
 
  接下来进行安装mysql的多实例操作
 
  解压软件
 
  [root@centos6 tools]# ll mysql-5.5.52-linux2.6-x86_64.tar.gz
 
  -rw-r--r--. 1 root root 185855000 Aug 26 21:38 mysql-5.5.52-linux2.6-x86_64.tar.gz
 
  [root@centos6 tools]# tar zxf mysql-5.5.52-linux2.6-x86_64.tar.gz
 
  拷贝配置文件
 
  [root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/my-small.cnf /data/3306/my.cnf
 
  [root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/mysql.server /data/3306/mysql
 
  [root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/my-small.cnf /data/3307/my.cnf
 
  [root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/mysql.server /data/3307/mysql
 
  为一规范安装路径,将免安装包拷贝到应用程序目录下
 
  [root@centos6 tools]# mv mysql-5.5.52-linux2.6-x86_64 /application/mysql
 
  [root@centos6 tools]# ll /application/mysql
 
  total 72
 
  drwxr-xr-x. 2 root root 4096 Dec 9 17:15 bin
 
  -rw-r--r--. 1 7161 31415 17987 Aug 26 19:24 COPYING
 
  drwxr-xr-x. 3 root root 4096 Dec 9 17:15 data
 
  drwxr-xr-x. 2 root root 4096 Dec 9 17:15 docs
 
  drwxr-xr-x. 3 root root 4096 Dec 9 17:15 include
 
  -rw-r--r--. 1 7161 31415 301 Aug 26 19:24 INSTALL-BINARY
 
  drwxr-xr-x. 3 root root 4096 Dec 9 17:15 lib
 
  drwxr-xr-x. 4 root root 4096 Dec 9 17:15 man
 
  初始化成功后,会在数据目录下产生一个数据目录data和一些文件
 
  [root@centos6 3306]# ll /data/3306/data/
 
  total 1136
 
  drwx------. 2 mysql root  4096 Dec 9 18:02 mysql
 
  -rw-rw----. 1 mysql mysql 27693 Dec 9 18:02 mysql-bin.000001
 
  -rw-rw----. 1 mysql mysql 1114546 Dec 9 18:02 mysql-bin.000002
 
  -rw-rw----. 1 mysql mysql  38 Dec 9 18:02 mysql-bin.index
 
  drwx------. 2 mysql mysql 4096 Dec 9 18:02 performance_schema
 
  drwx------. 2 mysql root  4096 Dec 9 18:02 test
 
  另一个实例的初始化请参考上述操作进行,操作过程不再一一介绍
 
  [root@centos6 3307]# ll /data/3307/data/
 
  total 1136
 
  drwx------. 2 mysql root  4096 Dec 9 18:40 mysql
 
  -rw-rw----. 1 mysql mysql 27693 Dec 9 18:40 mysql-bin.000001
 
  -rw-rw----. 1 mysql mysql 1114546 Dec 9 18:40 mysql-bin.000002
 
  -rw-rw----. 1 mysql mysql  38 Dec 9 18:40 mysql-bin.index
 
  drwx------. 2 mysql mysql 4096 Dec 9 18:40 performance_schema
 
  drwx------. 2 mysql root  4096 Dec 9 18:40 test
 
  4 、启动多实例并登录
 
  启动服务
 
  [root@backup 3307]# /data/3306/mysql start
 
  Starting MySQL...
 
  [root@backup 3307]# lsof -i :3306
 
  COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
 
  mysqld 19986 mysql 10u IPv4 90967 0t0 TCP *:mysql (LISTEN)
 
  [root@backup 3307]# /data/3307/mysql
 
  start Starting MySQL...
 
  [root@backup 3307]# lsof -i :3307
 
  COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
 
  mysqld 21648 mysql 11u IPv4 92899 0t0 TCP *:opsession-prxy (LISTEN)
 
  检查端口
 
  [root@backup 3307]# netstat -lntup|grep mysql
 
  tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 21648/mysqld
 
  tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 19986/mysqld
 
  登陆多实例数据库
 
  [root@backup ~]# mysql -S /data/3306/mysql.sock
 
  Welcome to the MySQL monitor. Commands end with ; or /g.
 
  Your MySQL connection id is 1
 

  4 rows in set (0.05 sec)
 
  成功登陆,并在3306实例中创建数据库,但是3307实例上查看并没有创建过的数据,说明两个实例是独立的
 
  注:如果再需要新增一个实例,基本的配置步骤同上述一样,只需要相应修改配置文件与启动程序文件中的端口号与数据目录的路径即可,最后可以将多实例数据库启动命令加入开机自启动。
 

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表