centos7 安装mysql 5.7多实例

本文详细介绍了一台服务器上部署多个Mysql实例的过程,包括安装准备、配置步骤、实例初始化等关键环节,并提供了实例测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 Mysql多实例即一台服务器上运行多个Mysql服务进程 ,开启不同的服务端口,通过不同的socket 监听不同的服务端口来提供各自的服务。

二、 Mysql多例有以下几个特点:

  1、  有效利用服务器资源:通过多实例地配置,可以将服务器剩余的资源充分利用起来。

  2、  资源互相抢占问题:资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降。

  3、  节约资源。

三、 安装前准备

  1、  服务器版本:CentOS 7

  2、  将/etc/selinux/config里的SELINUX设置成:disabled

  3、  下载mysql: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

四、 安装与配置mysql多例

  1、  解压mysql

    a、解压mysq:tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

    b、移动mysql:sudo mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

  2、  创建mysql实例用户及文件

    a、sudo useradd mysql -r -s /sbin/nologin          

    b、sudo mkdir -p /usr/local/mysql/mysql_files          //数据导入导出目录

    c、 创建多实例数据目录:sudo mkdir -p /data/mysql_data{1..3}

    d、   修改mysql目录的属组及用户:sudo chown root.mysql -R /usr/local/mysql

    e、   修改专用目录的属主及属组:sudo chown mysql.mysql -R /usr/local/mysql/mysql_files  /data/mysql_data{1..3}

  3、  配置Mysql的配置文件/etc/my.cnf,内容如下:

    [mysqld_multi]

    mysqld = /usr/local/mysql/bin/mysqld

    mysqladmin = /usr/local/mysql/bin/mysqladmin

    log = /tmp/mysql_multi.log

 

    [mysqld1]

    datadir = /data/mysql_data1       //设置数据目录

    socket = /tmp/mysql.sock1         //设置sock文件存放路径

    port = 3306                      //设置监听开放端口 

    user = mysql                           //设置运行用户

    performance_schema = off          //关闭监控

    innodb_buffer_pool_size = 32M         //设置innodb 缓存大小

    bind_address = 0.0.0.0                  //设置监听IP地址

    skip-name-resolve = 0                 //关闭DNS反向解析

 

    [mysqld2]

    datadir = /data/mysql_data2

    socket = /tmp/mysql.sock2

    port = 3307

    user = mysql

    performance_schema = off

    innodb_buffer_pool_size = 32M

    bind_address = 0.0.0.0

    skip-name-resolve = 0

 

    [mysqld3]

    datadir = /data/mysql_data3

    socket = /tmp/mysql.sock3

    port = 3308

    user = mysql

    performance_schema = off

    innodb_buffer_pool_size = 32M

    bind_address = 0.0.0.0

    skip-name-resolve = 0

  4、  初始化各个实例:初始化完后会在日志中生成密码,记得保存,一会要用。

    a、sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

    b、   /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

    c、 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

  

  5、  开启各实例的SSL连接

    a、sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

    b、   sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

    c、 sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

  

  6、  复制多实例脚本到服务管理目录下

    a、sudo cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi

  7、  给予脚本可执行权限:sudo chmod +x /etc/init.d/mysqld_multi

  8、  加入service服务管理: sudo chkconfig –add mysqld_multi

  9、  添加环境变量

    a、在文件最后面添加内容:sudo vim /etc/profile

      ## SETUP MYSQL’S PATH

      export MYSQL_HOME=/usr/local/mysql

      export PATH=${MYSQL_HOME}/bin:$PATH

    b、   使修改的配置文件生效:source /etc/profile

五、 测试实例

  1、  查看多个实例状态:mysqld_multi report

   

  2、  启动各个实例 : sudo mysqld_multi start

  3、  查看实例的监听端口:sudo ss -tulpn|grep mysqld

   

  4、  连接实例1:

    a、sudo mysql -S /tmp/mysql.sock1 -p’ Akgl?lkJl8l2’

    b、   进去后修改root密码: set password=123456;

    c、 使修改生效:flush privileges;

   

  5、  另外两个实例的操作方法与实例1一致,不再赘述。

 

PS:此文参考自 http://www.linuxidc.com/Linux/2017-07/145343.htm

转载于:https://www.cnblogs.com/jefflee168/p/7237112.html

### CentOS 7安装和配置 MySQL 5.7.38 #### 检测现有 MySQL 安装情况 为了确保环境中不存在旧版或其他冲突的 MySQL 版本,在开始新版本安装前应先检查当前系统中的 MySQL 组件。 ```bash rpm -qa | grep mysql ``` 这条命令会列出所有已安装的相关软件包名称,如果没有任何输出则表示未发现任何 MySQL 软件包[^1]。 #### 准备工作环境 下载适用于 Linux 的 MySQL 社区版压缩文件,并将其放置于服务器上的合适位置。通过 xFtp 工具可以方便地完成这一操作。接着执行如下指令来解压并设置目标路径: ```bash tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql ``` 这里需要注意的是,`/usr/local/mysql` 是推荐的目标目录,更改此默认路径可能会引起后续配置过程出现问题[^3]。 #### 初始化数据库实例和服务脚本部署 初始化数据目录以及创建必要的表结构对于初次启动至关重要。此外还需复制服务管理脚本来简化未来的控制流程: ```bash cd /usr/local/mysql/bin/ ./mysqld --datadir=/usr/local/mysql/data cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ``` 上述命令中 `--initialize` 参数用于生成初始密码;而 `/etc/init.d/mysqld` 文件则是用来支持 systemctl 或 service 命令的操作接口[^4]。 #### 修改配置参数以适应本地需求 编辑位于 `/usr/local/mysql/support-files/my-default.cnf` 中的基础配置项(或新建),指定正确的 base 和 data 目录地址: ```ini [mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data ... ``` 保存修改后的配置文档后即可尝试首次运行 MySQL 数据库引擎[^5]。 #### 启动 MySQL 并验证状态 最后一步就是实际激活 MySQL 进程,并确认其正常运作无误: ```bash service mysqld start ps aux|grep mysql ``` 以上即是在 CentOS 7 系统环境下成功搭建 MySQL 5.7.38 所需经历的主要环节概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值