Linux : mysql 多实例安装

今天我们来谈谈 linux下 mysql 多实例的安装。有些小伙伴可能会问为何要安装多实例呢?在项目中是否推荐一台机器安装多个mysql实例呢?各位看官别着急,容我慢慢向您道来。。。

首先我们来讲讲多实例安装的好处:

  1. 一般项目中数据库服务器或多或少呢都存在性能过剩的情况,多个mysql实例可以更好的利用设备硬件资源。当然啦如果您的机器跑一个mysql都如老汉推车,额好吧,老牛拉车一般,那么多实例安装就只能是别人家的操作啦。
  2. 对mysql学习感兴趣的同学呢,强烈建议安装多个实例,这样在之后学习主从复制,以及高可用的数据库架构会省心不少,至少不用在多个虚拟机间切来切去。

在项目中是否推荐多实例安装呢?
这个就是仁者见仁智者见智了,不过淘宝和网易等大厂,财大气粗多实例安装自是不在话下。

好了废话不多说,我们进入正题。。。。。。


各位看官在安装多实例之前我们先来回顾一下单实例的安装,虽是回顾,千里之行始于足下,这一步也是必不可少的。这里为了节省篇幅我们就贴个链接,截张图,重点之处,再拎出来剥皮抽筋~
  • 下载mysql linux generic 版本
    https://dev.mysql.com/downloads/mysql/5.7.html#downloads

  • 依赖包安装
    在这里插入图片描述红色框中的提示信息告诉我们,欲练此功必先。。。好吧,我们需要安装一个依赖包,这个包实际上不是libnuma,它包含在numactl中所以我们需要安装numactl How to do?
    apt-get install numactl
    准备工作做好之后,我们来走一条名叫成功的天路~(–)~
    在这里插入图片描述
    我们来看看分解动作:
    chown mysql:mysql mysql-files

    数据目录必须所属mysql组mysql用户

    bin/mysqld --initialize --user=mysql

    初始化数据路库数据目录,自动生成user相关的用户权限表等

    bin/mysqld_safe start --user=mysql &

    后台启动mysql

    chkconfig add mysql.server

    设置mysql会开机自启动

关于开机自启动的设置补充:
在这里插入图片描述
等你的mysql跑起来之后我们就可以开始今天的主题了,原谅我前戏太足。。。。。。

多实例安装步骤如下:

  • 关闭mysql

/etc/init.d/mysql,server stop

  • 在 /usr/local 目录下创建若干文件目录,作为数据库的数据目录

cd /usr/local
mkdir data1
mkdir data2
mkdir data3
chown mysql:mysql data*
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/data1
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/data2
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/data3

Note : 在初始化数据目录之后我们需要记下生成的数据库临时密码

  • 配置/etc/my.cnf

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
log =/usr/local/mysql/mysqld_multi.log

[mysqld1]
socket = /tmp/mysql1.sock
port = 3307
pid-file = /usr/local/data1/mysql.pid
datadir = /usr/local/data1
server-id = 1

[mysqld2]
socket = /tmp/mysql2.sock
port = 3308
pid-file = /usr/local/data2/mysql.pid
datadir = /usr/local/data2
server-id = 2

[mysqld3]
socket = /tmp/mysql3.sock
port = 3309
pid-file = /usr/local/data3/mysql.pid
datadir = /usr/local/data3
server-id = 3

  • 启动多个实例

/user/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start

  • 查看运行状态

/user/local/mysql/bin/mysqld_multi report
在这里插入图片描述
看到上图,那么恭喜,一切安好,恭喜上车。。。

我们可以选择启动某一个数据库实例,命令如下

/user/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 1
注意这里的数字和配置中[mysqld1]数字保持一致

在mysql 5.7中登陆成功之后,第一步要求我们修改密码,否则我们什么也不能做,修改密码命令如下:

ALTER USER USER() IDENTIFIED BY ‘jadengu’;

猜你喜欢

转载自blog.csdn.net/u014454462/article/details/82805985