iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL多实例数据库的安装及配置方法
  • 945
分享到

MySQL多实例数据库的安装及配置方法

2024-04-02 19:04:59 945人浏览 薄情痞子
摘要

下面讲讲关于Mysql多实例数据库的安装及配置方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql多实例数据库的安装及配置方法这篇文章你一定会有所受益。一、Mysql多

下面讲讲关于Mysql多实例数据库的安装及配置方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql多实例数据库的安装及配置方法这篇文章你一定会有所受益。

一、Mysql多实例介绍

1、什么是mysql多实例?
mysql多实例就是在一台云服务器上同时开启多个不同的云服务器端口(如:3306、3307),同时运行多个mysql服务进程,这些服务进程通过不同的Socket监听不同的云服务器端口来提供服务。
这些mysql多实例共用一套mysql安装程序,使用不同的my.cnf(也可以相同)配置文件、启动命令(也可以相同)和数据文件。在提供服务时,多实例mysql在逻辑上看起来是各自独立的,它们根据配置文件的对应设定值,获得云服务器相应数量的硬件资源。
打个比方,mysql多实例就相当于房子的多个卧室,每个实例可以看做一间卧室,整个云服务器就是一套房子,云服务器的硬件资源(CPU、Mem、Disk)、软件资源(Centos操作系统)可以看作房子的卫生间、厨房、客厅,是房子的共用资源。
 2、mysql多实例的作用与问题
作用:
2.1、有效利用云服务器资源
当单个云服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务,且可以实现资源的逻辑隔离。
2.2、节约云服务器资源
当公司资金紧张,但是数据库又需要各自尽量独立的提供服务,而且,需要主从复制等技术时,多实例就再好不过了。
问题:
存在资源互相抢占的问题。
当某个数据库实例并发很高或有SQL慢查询时,整个实例会消耗大量的系统CPU、磁盘I/O等资源,导致云服务器上的其他数据库实例提供服务的质量一起下降。
3、mysql多实例的生产应用场景
3.1、资金紧张型公司的选择
若公司资金紧张,公司业务访问量不太大,但又希望不同业务的数据库服务各自尽量独立的提供服务而互相不受影响,同时,还需要主从复制等技术提供备份或读写分离服务,那么,多实例就再好不过了。例如:可以通过3台云服务器部署9~15个实例,交叉做主从复制、数据备份及读写分离,这样就可以达到9~15台云服务器每个只装一个数据库才有的效果。强调:所谓的尽量独立是相对的。
3.2、并发访问不是特别大的业务
当公司业务访问量不太大的时候,云服务器的资源基本上都浪费了,这时就适合多实例的应用,如果对SQL语句的优化做的比较好,mysql多实例会是一个很值得使用的技术,即使并发很大,合理分配好系统资源,搭配好服务,也不会有太大问题。
3.3、门户网站应用mysql多实例场景
门户网站通常都会使用多实例,因为配置硬件好的云服务器,可节省IDC机柜空间,同时,跑多实例也会减少硬件资源跑不满的浪费。

二、安装并配置多实例mysql数据库

 1、创建mysql多实例的数据文件目录
以/data目录作为mysql多实例总的根目录,然后规划不同的数字(即mysql实例端口号)作为/data下面的二级目录,不同的二级目录对应的数字就作为mysql实例的端口号,以区别不同的实例,数字对应的二级目录下包含mysql的数据文件,配置文件和启动文件。

[root@mysql-server tools]# mkdir -p /data/{3306,3307}/data/
[root@mysql-server tools]# tree /data
/data
├── 3306
│   └── data
├── 3307
│   └── data

 2、创建mysql多实例的配置文件(data.zip  拿好早已配置的模板通过rz上传到相关目录下)
为了让mysql多实例之间彼此独立,要为每一个实例建立一个my.cnf配置文件和一个启动文件mysql,让它们分别对应自己的数据文件目录data。

[root@mysql-server tools]# unzip data.zip 
ArcHive:  data.zip
   creating: data/
   creating: data/3306/
  inflating: data/3306/my.cnf        
  inflating: data/3306/mysql         
   creating: data/3307/
  inflating: data/3307/my.cnf        
  inflating: data/3307/mysql         
[root@mysql-server tools]# cp data/3306/my.cnf /data/3306/
[root@mysql-server tools]# cp data/3307/my.cnf /data/3307/
[root@mysql-server tools]# tree /data
/data
├── 3306
│   ├── data
│   └── my.cnf
└── 3307
    ├── data
    └── my.cnf

4 directories, 2 files

 3、创建mysql多实例的启动文件(data.zip  拿好早已配置的模板通过rz上传到相关目录下)

[root@mysql-server tools]# cp data/3306/mysql /data/3306/
[root@mysql-server tools]# cp data/3307/mysql /data/3307/ 
[root@mysql-server tools]# tree /data
/data
├── 3306
│   ├── data
│   ├── my.cnf
│   └── mysql
└── 3307
    ├── data
    ├── my.cnf
    └── mysql

4 directories, 4 files

 4、配置mysql多实例的文件权限
4.1、通过下面命令,授权mysql用户和组管理整个多实例的根目录/data

[root@mysql-server tools]# chown -R mysql.mysql /data
[root@mysql-server tools]# find /data -type f -name "mysql"|xargs ls -l
-rw-r--r-- 1 mysql mysql 1307 4月   8 21:07 /data/3306/mysql
-rw-r--r-- 1 mysql mysql 1307 4月   8 21:07 /data/3307/mysql

4.2、通过下面命令,授权mysql多实例所有启动文件的mysql可执行,设置700权限最佳,注意不要用755权限,因为启动文件里有数据库管理员密码,会被读取到。

[root@mysql-server tools]# find /data -type f -name "mysql"|xargs chmod 700
[root@mysql-server tools]# find /data -type f -name "mysql"|xargs ls -l
-rwx------ 1 mysql mysql 1307 4月   8 21:07 /data/3306/mysql
-rwx------ 1 mysql mysql 1307 4月   8 21:07 /data/3307/mysql

 5、mysql相关命令加入全局路径的配置
5.1、配置全局路径的意义
如果不为mysql的命令配置全局路径,就无法直接在命令行输入mysql这样的命令,只能用全路径命令(/application/mysql/bin/mysql),这种带着路径输入命令的方式很麻烦。
5.2、配置mysql全局路径的方法
5.2.1、确认mysql命令所在路径,命令如下:

[root@mysql-server tools]# ls /application/mysql/bin/mysql
/application/mysql/bin/mysql

5.2.2、在PATH变量前面增加/application/mysql/bin路径,并追加到/etc/profile文件中,命令如下:

[root@mysql-server tools]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@mysql-server tools]# tail -1 /etc/profile
PATH="/application/mysql/bin:$PATH"
[root@mysql-server tools]# source /etc/profile
[root@mysql-server tools]# echo $PATH
/application/mysql/bin:/usr/local/java/jdk1.8.0_60/bin:/usr/local/java/jdk1.8.0_60/jre/bin:/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/bin:/root/bin

6、初始化mysql多实例的数据库文件
6.1、初始化mysql数据库,命令如下:

cd /application/mysql/scripts/
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
##### --basedir=/application/mysql 是mysql安装路径,--datadir是不同的实例数据目录。

6.2、初始化数据库的原理及结果说明
初始化数据库的实质就是创建基础的数据库系统的库文件,例如:生成mysql库表等。
初始化数据库后查看对应实例的数据目录,可以看到多了如下文件:

[root@mysql-server scripts]# tree /data
/data
├── 3306
│   ├── data
│   │   ├── mysql
│   │   │   ├── columns_priv.frm
│   │   │   ├── columns_priv.MYD
│   │   │   ├── columns_priv.MYI
│   │   │   ├── db.frm
...省略部分...

 7、启动mysql多实例数据库
第一个实例3306的启动命令如下:

[root@mysql-server scripts]# /data/3306/mysql start
Starting MySQL...

第二个实例3307的启动命令如下:

[root@mysql-server scripts]# /data/3307/mysql start 
Starting MySQL...

检查mysql多实例数据库是否成功启动,命令如下:

[root@mysql-server scripts]# ss -lntup|grep 330
tcp    LISTEN     0      128                    *:3306                  *:*      users:(("mysqld",2804,12))
tcp    LISTEN     0      128                    *:3307                  *:*      users:(("mysqld",3522,11))

 8、mysql多实例启动故障排错说明
如果mysql多实例有服务没有启动,排查办法如下:
1)、如果发现没有显示mysql对应实例的端口,请稍微等待几秒再检查,mysql服务的启动比WEB服务慢一些。
2)、如果还不行,查看mysql服务对应实例的错误日志,错误日志路径在my.cnf配置的最下面定义。例如,3306实例的错误日志为:

[root@mysql-server 3306]# grep log-error my.cnf|tail -1
log-error=/data/3306/mysql_oldboy3306.err
[root@mysql-server 3306]# tail -10 /data/3306/mysql_oldboy3306.err 
180408 22:14:09 InnoDB: 5.5.32 started; log sequence number 0
180408 22:14:09 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
180408 22:14:09 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
180408 22:14:09 [Note] Server socket created on IP: '0.0.0.0'.
...省略部分...

三、配置及管理mysql多实例数据库

 1、配置mysql多实例数据库开机自启动

[root@mysql-server 3306]# echo "/data/3306/mysql start" >> /etc/rc.local 
[root@mysql-server 3306]# echo "/data/3307/mysql start" >> /etc/rc.local 
[root@mysql-server 3306]# tail -2 /etc/rc.local 
/data/3306/mysql start
/data/3307/mysql start

 2、登录mysql及管理方法
mysql安装完成后,默认情况下,mysql管理员的账号root是无密码的。登录不同的实例需要指定不同实例的mysql.sock文件路径,这个mysql.sock是在my.cnf配置文件里指定的。
下面是无密码登录数据库的方法,关键点是-S参数及后面指定的/data/3306/mysql.sock,注意,不同实例的sock虽然名字相同,但是路径是不同的,因此是不同的文件。

[root@mysql-server 3306]# mysql -S /data/3306/mysql.sock 
[root@mysql-server 3306]# mysql -S /data/3307/mysql.sock  

下面是重启对应实例数据库的命令:

/data/3306/mysql stop
/data/3306/mysql start

3、mysql安全配置
mysql管理员的账号root密码默认为空,极不安全,可以通过mysqladmin命令为mysql不同实例的数据库设置独立的密码,命令如下:

[root@mysql-server 3306]# mysqladmin -u root -S /data/3306/mysql.sock passWord '123456'
[root@mysql-server 3306]# mysqladmin -u root -S /data/3307/mysql.sock password '123456' 
登录3306实例的命令如下:

[root@mysql-server 3306]# mysql -uroot -p -S /data/3306/mysql.sock
登录3307实例的命令如下:
[root@mysql-server 3306]# mysql -uroot -p -S /data/3307/mysql.sock
若要重启多实例数据库,也需要进行相应的如下配置。在重启数据库前,需要调整不同实例启动文件里对应的数据库密码。

[root@mysql-server 3306]# sed -n '13p' /data/3306/mysql /data/3307/mysql
mysql_pwd="oldboy"
[root@mysql-server 3306]# sed -i '13 s#oldboy#123456#g' /data/3306/mysql /data/3307/mysql
[root@mysql-server 3306]# sed -n '13p' /data/3306/mysql /data/3307/mysql
mysql_pwd="123456"

 4、多实例mysql登录问题分析
1)、多实例本地登录mysql
多实例本地登录一般通过socket文件来指定具体登录到哪个实例,此文件的具体位置是在mysql编译过程或my.cnf文件中指定的。在本地登录数据库时,登录程序会通过socket文件来判断登录的是哪个数据库实例。
2)、远程连接登录mysql多实例
远程登录mysql多实例中的一个实例时,通过TCP端口来指定所要登录的mysql实例,此端口的配置是在mysql配置文件my.cnf中指定的。
例如:在 mysql -uoldboy -p'oldboy' -h 10.0.0.7 -P 3307 中,-P为端口参数,后面接具体的实例端口,端口是一种“逻辑连接位置”,是客户端程序被分派到计算机上特殊服务程序的一种方式,强调提前在10.0.0.7上对oldboy用户做了授权。

对于以上MySQL多实例数据库的安装及配置方法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的数据库板块。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL多实例数据库的安装及配置方法

本文链接: https://www.lsjlt.com/news/35692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL多实例数据库的安装及配置方法
    下面讲讲关于MySQL多实例数据库的安装及配置方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL多实例数据库的安装及配置方法这篇文章你一定会有所受益。一、MySQL多...
    99+
    2022-10-18
  • MySql数据库安装及配置
    http://dev.mysql.com/downloads/mysql/官网进行下载,由于5.7没有32位的选择其它版本下载64位版本安装及配置如下截图步骤   ...
    99+
    2022-10-18
  • MYSQL数据库多实例的安装配置mysql_multi启停实战
    一、多实例的应用场景:1、资金紧张型公司的选择当公司业务访问量不太大,又舍不得花钱,但同时又希望不同业务的数据库服务各自独立,而且需要主从同步进行等技术提供备份或读写分离服务时,使用多实例是最好不过的。2、...
    99+
    2022-10-18
  • MySQL数据库多实例介绍及安装
    MySQL数据库多实例介绍及安装1.mysql多实例实质在一台机器上开启多个不同的mysql服务端口(3306,3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务; 多个实例共用一套...
    99+
    2017-04-12
    MySQL数据库多实例介绍及安装 数据库入门 数据库基础教程 数据库 mysql
  • Oracle 11g数据库的安装及配置方法
    本篇内容介绍了“Oracle 11g数据库的安装及配置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!O...
    99+
    2022-10-18
  • MySQL数据库安装及配置相关
    一)Centos下安装MySQL数据库安装MySql参考网址: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 因为MySQL官网有创建yu...
    99+
    2022-10-18
  • MySQL数据库入门之多实例配置方法详解
    本文实例讲述了MySQL数据库入门之多实例配置方法。分享给大家供大家参考,具体如下: 前面介绍了相关的基础命令操作:MySQL数据库基础篇之入门基础命令 所有的操作都是基于单实例的,mysql多实例在实际生产环境也是...
    99+
    2022-05-31
    MySQL 数据库 多实例配置
  • Centos7 mysql数据库安装及配置实现教程
    一、系统环境 yum update升级以后的系统版本为 [root@yl-web yl]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (...
    99+
    2022-05-12
    Centos7 mysql 安装
  • Redis数据库的安装配置方法
    redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,...
    99+
    2022-06-04
    数据库 方法 Redis
  • MySQL数据库超时设置配置的方法实例
    目录前言1. JDBC超时设置2. 连接池超时设置3. MyBatis查询超时4. 事务超时总结前言 最近备战京东双11,在配置MySQL的超时配置发现有很多地方可以设置。这么多超时...
    99+
    2022-11-12
  • MySQL多实例的安装配置指南
    操作系统:CentOS 6.8 虚拟机:VMware 数据库:MySQL 5.1.62 实战任务:安装并配置多实例MySQL数据库   1...
    99+
    2022-10-18
  • Mysql数据库多实例配置的示例分析
    小编给大家分享一下Mysql数据库多实例配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!二进制安装: [root@lufengcentos ~]# mkdi...
    99+
    2022-10-19
  • Linux中CentOS MySQL数据库安装配置的示例
    这篇文章将为大家详细讲解有关Linux中CentOS MySQL数据库安装配置的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装mysql数据库的笔记,分享给大家 ...
    99+
    2022-10-18
  • MySQL数据库的介绍及安装方法
    本篇内容介绍了“MySQL数据库的介绍及安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  一、My...
    99+
    2022-10-18
  • 怎么样安装多实例mysql数据库
    本文主要给大家简单讲讲怎么样安装多实例mysql数据库,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望怎么样安装多实例mysql数据库这篇文章可以给大家带来一...
    99+
    2022-10-18
  • 【MySQL数据库】最全安装过程及配置详解
    🧛‍♂️iecne个人主页::iecne的学习日志 💡每天关注iecne的作品,一起进步 💪一起学习,必看iecne 🐳希望大家多多支持🥰一起进步呀...
    99+
    2023-08-16
    mysql 数据库 服务器
  • 原有MySQL数据库 ,安装多实例教程
    #mysql安装脚本安装好后mkdir -v /usr/share/mysql/mysql-files mkdir -vp /data/mysql_data{1..4} * 修改 MySQL 二进制包目录的...
    99+
    2022-10-18
  • 安装mysql数据库及问题解决方法
    1、mysql官网下载安装包,官网地址:www.mysql.com [root@seiang software]# ll total 580020 -rw-r--r--. 1...
    99+
    2022-10-18
  • 如何进行MySQL数据库中的多实例配置
    今天就跟大家聊聊有关如何进行MySQL数据库中的多实例配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL数据库基础篇之入门基础命令所有的操...
    99+
    2022-10-19
  • PowerDesigner的安装及配置连接Oracle数据库
    PowerDesigner的安装及配置连接Oracle数据库    经过不懈的努力终于将powerdesigner成功连接到数据库了,中间也遇到过一些问题,希望能与大...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作