centos7 安装mysql 5.7多实例

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

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

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

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

  3、  节约资源。

三、 安装前准备

  1、  服务器版本:CentOS 7

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

  3、  下载:mysqlhttps://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

时间: 2024-10-06 05:15:48

centos7 安装mysql 5.7多实例的相关文章

Centos7安装mysql

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个

CentOS7安装MySQL并开启远程访问

1.安装MySQL CentOS7中默认安装了MySQL系列的数据库,需要先卸载掉. 查看当前安装的mariadb包: [[email protected] desktop]# rpm -qa | grep mariadb 将它们统统强制性卸载掉: [[email protected] 桌面]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64 在官网下载RPM安装包,http://dev.mysql.com/downloads/mysql/,下载

centos7安装mysql和mysql-connector-c++

最近为了搭建自己的开发环境,又一次在centos7上面开始安装mysql和c++的访问环境,特此记录一下搭建过程,方便以后查阅 一.安装mysql centos7 默认安装了mariaDB,导致不能安装mysql,要安装msyql首先得卸载mariaDB 1.卸载mariaDB (1)执行命令:rpm -qa | grep mariadb 查询已安装的mariaDB相关软件包 例如: mariadb-devel-5.5.52-1.el7.x86_64 mariadb-5.5.52-1.el7.x

centos7安装mysql(MariaDB)

1.centos7现状: 新系统无法再使用yum install mysql-server来安装mysql,因为已使用mariadb代替mysql. 2.安装mariadb: [[email protected] ~]# yum -y install mariadb* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.linode.com * extras: mirro

[CentOS7]安装mysql遇到的问题

摘要 在安装mysql的时候,遇到了一些问题,这里列出所遇到的问题. yum list mysql-server 在使用命令yum list mysql-server安装mysql的时候,遇到如图所示的问题. 大概意思yum被一个应用锁着了. 这时候我们可以通过下面的命令强制解锁. rm -rf /var/run/yum.pid 发现没有找到响应的包.估计是centos7中,没有mysql,这时候我们就需要下载一个了.

Centos7 安装 mysql

首先CentOS7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤. #列出所有被安装的rpm package rpm -qa | grep mariadb #卸载rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 错误:依赖检测失败:libmysqlclient.so.18()(64bit) 被 (已安

CentOS-7安装Mysql集群

安装要求 安装环境:CentOS-7安装方式:源码编译安装 软件名称:mysql-cluster-gpl-7.3.7-linux2.6-x86_64.tar.gz下载地址:http://mysql.mirror.kangaroot.net/Downloads/软件安装位置:/usr/local/mysql数据存放位置:/var/mysql/data日志存放位置:/var/mysql/logs 集群设计 首先设计集群的安装分配方式,我共需要5台服务器,服务器分配如下: 管理节点:    192.1

「Linux」centos7安装mysql

1.yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 2.yum安装MySQL:sudo yum install mysql-community-server 3.启动MySQL服务:sudo service mysqld start 4.检查MySQL服务状态:sudo service mysqld status 5.查看初始密码(如无内容直

CentOS7安装Mysql并配置远程访问

(su root登录到root账户) 下载repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装rpm包 rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装mysql yum install mysql-server 执行后开始下载和解压操作,过程中会遇到多次Y/N询问,输入y然后回车确认 安装完成后再次查看mysql rpm -qa|grep