返回顶部
首页 > 资讯 > 数据库 >CentOS下mysql多实例操作指南
  • 717
分享到

CentOS下mysql多实例操作指南

2024-04-02 19:04:59 717人浏览 八月长安
摘要

Mysql工作中无处不在,无数次安装,优化,一直没有时间,整理进行归档,最近在做mysql的Dass服务,把最近遇到的问题,进行整理,梳理一份操作指南;供大家参考; 序言 Mysql多实例即一台服务器上

Mysql工作中无处不在,无数次安装,优化,一直没有时间,整理进行归档,最近在做mysql的Dass服务,把最近遇到的问题,进行整理,梳理一份操作指南;供大家参考;

序言

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

Mysql多例的好处:

  1、 有效利用服务器资源:通过多实例地配置,可以将服务器剩余的资源充分利用起来。
  2、 资源互相抢占问题:资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘io资源,导致服务器上的其他实例提供服务的质量下降。
  3、 节约资源。

部署多实例的两种方式

  1. 使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便;
  2. 通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理;

同一开发环境下安装两个数据库,必须处理以下问题

  • 配置文件安装路径不能相同
  • 数据库目录不能相同
  • 启动脚本不能同名
  • 端口不能相同
  • socket文件的生成路径不能相同

    Mysql多实例操作指南

    具体详细参考官网 (https://dev.mysql.com/doc/refman/5.7/en/installing.html

  • mysql的安装方法有多种,如二进制安装、源码编译安装、yum安装;
  • yum安装都是默认路径,不利于后期维护,安装相对简单;
  • 源码安装编译的过程比较长,若没有对源码进行修改且要求使用mysql较高版本;
  • 建议使用二进制安装。本文以二进制安装mysql,且使用mysqld_mutil进行mysql多实例管理。

    环境准备

Centos7 x64 参考地址:Https://dev.mysql.com/downloads/mysql/
mysql 5.7.22(压缩版)

  • 下载mysql
cd /usr/local  
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  • 解压安装
tar -zxvf  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  
mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  /usr/local/mysql

初始化用户组及用户

创建一个mysql用户组及用户,且这个用户是不可登录的
创建用户组:groupadd mysql
创建不可登录用户:useradd -g mysql -s /sbin/nologin -d /opt/mysql mysql
查看下创建后的用户信息:id msyql

 id mysql
uid=501(mysql) gid=501(mysql) groups=501(mysql)

创建相关目录

cd /  
mkdir /data  
cd /data  
mkdir mysql  
cd mysql   
mkdir {mysql_3306,mysql_3307}  
cd /data/mysql/mysql_3306  
mkdir {data,log,tmp}  
cd /data/mysql/mysql_3307  
mkdir {data,log,tmp}

更改目录权限

chown -R mysql:mysql /data/mysql/  
chown -R mysql:mysql /usr/local/mysql/  

添加环境变量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile  
source /etc/profile   

CentOS下mysql多实例操作指南

检查是否配置

cat /etc/profile

复制my.cnf文件到etc目录(mysql 5.722没有my-default.cnf ,需要自动手动创建或者之前的地方进行copy)

  • 自己创建
    vim /etc/my.cnf

    修改my.cnf

    将以下内容,全部替换 /etc/my.cnf中的内容(以下配置,已集成mysql主从配置)

[client]
port=3306
socket=/tmp/mysql.sock

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

[mysqld] 
user=mysql 
basedir = /usr/local/mysql 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld3306] 
mysqld=mysqld 
mysqladmin=mysqladmin 
datadir=/data/mysql/mysql_3306/data 
port=3306 
server_id=3306 
socket=/tmp/mysql_3306.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log 
log-error = /data/mysql/mysql_3306/log/error.log 
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin
binlog-ignore-db = mysql 

[mysqld3307] 
mysqld=mysqld 
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3307/data 
port=3307 
server_id=3307 
socket=/tmp/mysql_3307.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log 
log-error = /data/mysql/mysql_3307/log/error.log 
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin

replicate-ignore-db=mysql
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
read_only

初始化数据库

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

cd /usr/local/mysql/

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3307/data/

##开启各实例的SSL连接
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data/
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3307/data/

PS:
--basedir:mysql的安装目录
--datadir:数据库的数据文件目录

查看数据库是否初始化成功

cd /data/mysql/mysql_3306/data

CentOS下mysql多实例操作指南

设置启动文件

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

给予脚本可执行权限

chmod +x /etc/init.d/mysqld_multi

加入service服务管理

chkconfig --add mysqld_multi  

mysqld_multi进行多实例管理

  • 启动全部实例:
    /usr/local/mysql/bin/mysqld_multi start  
  • 查看全部实例状态:
    /usr/local/mysql/bin/mysqld_multi report  
  • 启动单个实例:
    /usr/local/mysql/bin/mysqld_multi start 3306  
  • 停止单个实例:
    /usr/local/mysql/bin/mysqld_multi stop 3306  
  • 停止
    mysqld_multi stop 3306 --passWord=root
    #or 最好用这个
    mysqladmin -S /tmp/mysql_3306.sock -uroot -p shutdown
  • 查看单个实例状态:
    /usr/local/mysql/bin/mysqld_multi report 3306  
  • 查看实例的监听端口:
    ss -tulpn|grep mysqld

    CentOS下mysql多实例操作指南

    修改密码

    mysql -S /tmp/mysql_3306.sock -p
  • 输入之前记录的密码,进入进行密码设置
set password=password('123456');
  • 使修改生效;或者重启服务
flush privileges;

CentOS下mysql多实例操作指南

应用路径:/data/WEB/wordpress

Nginx 配置:/usr/local/openresty/nginx/conf/site-enable/help.conf

3307的就不写了,你按照以上方法,进行操作;

设置远程连接mysql:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

其中,root 是用户名,% 表示所有人都可以访问,password是密码,尽量不用使用root,安全很重要
如果你看到当前位置,你已经成功了,致敬在路上学习的小伙伴伴,与你一起知识总结
如果感觉还不错,就分享出去,后续给大家介绍,mysql主从操作构建;

mysql的经典工作操作指南;

Percona Toolkit

https://www.percona.com/downloads/percona-toolkit/LATEST/

percona-xtrabackup

https://www.percona.com/doc/percona-xtrabackup/2.1/xtrabackup_bin/incremental_backups.html#

您可能感兴趣的文档:

--结束END--

本文标题: CentOS下mysql多实例操作指南

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

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

猜你喜欢
  • CentOS下mysql多实例操作指南
    Mysql工作中无处不在,无数次安装,优化,一直没有时间,整理进行归档,最近在做mysql的Dass服务,把最近遇到的问题,进行整理,梳理一份操作指南;供大家参考; 序言 Mysql多实例即一台服务器上...
    99+
    2024-04-02
  • Linux下MySQL多实例部署及安装指南
    什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306、3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提...
    99+
    2022-06-03
    MySQL多实例部署 linux MySQL多实例
  • FreeRTOS实时操作系统移植操作示例指南
    目录1.添加FreeRTOS源码2.向工程分组中添加文件附上delay.c和delay.h的代码1.添加FreeRTOS源码 在基础工程中新建一个名为 FreeRTOS 的文件夹,将...
    99+
    2024-04-02
  • windows下Mysql多实例部署的操作方法
    当存在多个项目的时候,需要同时部署时,且只有一台服务器时,哪么就需要部署mysql多个实例,原理很简单,多个mysql服务运行使用不同的配置及数据管理。 具体操作如下: 1、找到mysql.ini配置并复制为一个新的文件...
    99+
    2024-04-02
  • PHP中的MySQL操作指南
    PHP是Web开发中最常用的编程语言之一,而MySQL则是最受欢迎的关系型数据库管理系统之一。在Web应用程序开发过程中,PHP的一个主要功能就是与MySQL数据库进行交互,以存储和检索数据。本文将为您提供一个基本的MySQL操作指南,以帮...
    99+
    2023-05-22
    MySQL PHP 操作指南
  • MySQL多实例的安装配置指南
    操作系统:CentOS 6.8 虚拟机:VMware 数据库:MySQL 5.1.62 实战任务:安装并配置多实例MySQL数据库   1...
    99+
    2024-04-02
  • Python中selenium_webdriver下拉框操作指南
    目录环境搭建Python selenium_webdriver下拉框操作总结环境搭建 首先以python3.x为基础来搭建基础环境 1.安装python 基础环境(python的基础...
    99+
    2024-04-02
  • MySQL中实现分页操作的实战指南
    目录一、 背景二、 实现规则2.1 关键字 LIMIT2.2 查询数据库表的第 x x x 条记录2.3 WHERE…ORDER BY…LIMIT… 的声明顺序 (非执行...
    99+
    2024-04-02
  • MySQL迁移到PostgreSQL操作指南
    文章目录 1. 迁移前准备和相关说明2.教程2.1. 使用pgloader进行迁移安装pgloader:使用pgloader迁移数据:然后运行以下命令执行迁移: 2.2. 使用 py-mysql2pgsql2.3. 使用mys...
    99+
    2023-08-16
    postgresql mysql 数据库 java
  • mysql数据库恢复操作指南
    下文给大家带来有关mysql数据库恢复操作指南内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完mysql数据库恢复操作指南你一定会有所收获。1、系统说明:数据库版...
    99+
    2024-04-02
  • 阿里云ECS实例的换区域操作指南
    在使用阿里云ECS实例的过程中,我们可能会遇到需要更换区域的情况。本文将详细介绍阿里云ECS实例的换区域操作,包括如何创建新的ECS实例、如何迁移数据以及如何调整实例的网络配置等。 阿里云ECS实例的换区域操作步骤如下:步骤1:创建新的EC...
    99+
    2023-11-14
    阿里 操作指南 实例
  • Exchange Server 2019 实战操作指南
    新钛云服已累计为您分享737篇技术干货 基本信息 镜像下载地址:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ https://next.itellyou.cn/Original/# 文档:https://learn.micros...
    99+
    2023-09-03
    windows microsoft 服务器 运维
  • Selection与Range对象操作示例指南
    目录前言Range选择部分文本选择dom元素节点range对象属性编辑范围的方法Selectionselection的属性selection锚点和焦点与range开始结束点的区别前言...
    99+
    2024-04-02
  • MySQL登录、访问及退出操作实战指南
    目录1.登录2.访问数据库3.退出数据库总结1.登录 访问mysql服务器对应的命令:mysql.exe ,位置:C:\Program Files\MySQL\MySQL Server 8.0\bin (mysql.e...
    99+
    2024-04-02
  • 在Qt中操作MySQL数据库的实战指南
    目录一、安装驱动(1)安装(2)验证驱动是否安装成功 二、使用mysql数据库(1)单语句执行(2)多语句执行(3)批处理操作 三、总结一、安装驱动 (1)安装 在Qt中操作MySQL数据库首先要安装...
    99+
    2023-04-03
    qt操作mysql qt操作数据库 qt 数据库操作
  • linux操作之centos下载mysql的方法
    这篇文章将为大家详细讲解有关linux操作之centos下载mysql的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在CentOS中默认安装有Maria...
    99+
    2024-04-02
  • python操作Mysql实例
    本文介绍了Python操作mysql,执行SQL语句,获取结果集,遍历结果集,取得某个字段,获取表字段名,将图片插入数据库,执行事务等各种代码实例和详细介绍。 实例1、获取MYSQL的版本 #!/usr/bin/env python   i...
    99+
    2023-01-31
    实例 操作 python
  • MySQL中库的基本操作指南(推荐!)
    目录查看数据库创建数据库删除数据库字符集/字符校验修改数据库帮助命令数据库存储引擎查看默认存储引擎存储引擎简介存储引擎的选择总结查看数据库 语法格式: SHOW {DATABASES | SCHEMAS} [LI...
    99+
    2023-02-18
    mysql数据库基本操作 mysql 库 mysql建库
  • MySQL导出sql脚本文件操作指南
    目录前言MySQL导出sql脚本文件一.打开MySQL数据库安装目录下的bin文件夹二.在文件夹内打开命令行三.在命令框内输入指令导出sql脚本最后的话前言 sql脚本文件在我们做项...
    99+
    2023-01-13
    mysql导出sql脚本 sqlserver导出数据脚本 mysql如何导出sql文件
  • Python文件基本操作实用指南
    文件的存储方式 在计算机中,文件是以 二进制的方式保存在磁盘上的 文本文件和二进制文件 文本文件 可以使用文本编辑软件查看...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作