centos安装多实例数据库(代码片段)

zhang-jun-jie zhang-jun-jie     2023-05-03     179

关键词:

在Centos下安装多个MySql 5.7
① 下载MySql 解压版安装包
② 编写安装脚本
③ 将脚本和安装包放置同一目录
④ 编写my.cnf文件并放置在/etc/ 目录下
⑤ 赋予脚本运行权限并运行
⑥ 修改默认密码
① 下载MySql 解压版安装包
点击传送门:MySql下载 下载对应系统的MySql, Centos选 Linux - Generic <64位> (本人Centos是64位,32位的请选择32位)

技术图片

 

 


② 编写安装脚本

#!/bin/bash

baseMysqlDir=/usr/local/tarsPkg/mysql-5.7.22-linux-glibc2.12-x86_64

yum install mysql-devel

## 创建 MySQL 软链接
ln -s $baseMysqlDir /usr/local/mysql

##创建 MySQL 用户
useradd -r -s /sbin/nologin mysql

## 在 MySQL 二进制包目录中创建 mysql-files 目录
mkdir -v /usr/local/mysql/mysql-files

## 创建多实例数据目录
mkdir -vp /data/mysql_data1..4 

## 修改 MySQL 二进制包目录的所属用户与所属组
chown root.mysql -R $baseMysqlDir

## 修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组
chown mysql.mysql -R /usr/local/mysql/mysql-files /data/mysql_data1..4

## 初始化各个实例 [ 初始化完成后会自带随机密码在输出日志中 ]
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data4

## 各实例开启 SSL 连接
/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1
/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2
/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3
/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data4

## 添加mysql 到path
echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile

source /etc/profile

## 复制多实例脚本到服务管理目录下 [ /etc/init.d/ ]
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

export PATH=/usr/local/mysql/bin:$PATH

## 查个多实例状态
/etc/init.d/mysqld_multi report

 

 

③ 将脚本和安装包放置同一目录
技术图片

 

 


④ 编写my.cnf文件并放置在/etc/ 目录下

[mysqld_multi]
mysqld    = /usr/local/mysql/bin/mysqld 
mysqladmin = /usr/local/mysql/bin/mysqladmin
log        = /tmp/mysql_multi.log
[mysqld1]
federated
# 设置数据目录 [多实例中一定要不同]
datadir = /data/mysql_data1
# 设置sock存放文件名 [多实例中一定要不同]
socket = /tmp/mysql.sock1
# 设置监听开放端口 [多实例中一定要不同]
port = 3306
# 设置运行用户
user = mysql
# 关闭监控
performance_schema = off
# 设置innodb 缓存大小
innodb_buffer_pool_size = 32M
# 设置监听IP地址
bind_address = 0.0.0.0
# 关闭DNS 反向解析
skip-name-resolve = 0
max_connections=1000
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
explicit_defaults_for_timestamp=true
tmpdir=/data/mysql_data1
character_set_server = utf8mb4
[mysqld2]
datadir = /data/mysql_data2
socket = /tmp/mysql.sock2
tmpdir=/data/mysql_data2
port = 3307
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
explicit_defaults_for_timestamp=true
lower_case_table_names = 1
[mysqld3]
datadir = /data/mysql_data3
socket = /tmp/mysql.sock3
tmpdir=/data/mysql_data3
port = 3308
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
explicit_defaults_for_timestamp=true
lower_case_table_names = 1 
[mysqld4]
datadir = /data/mysql_data4
socket = /tmp/mysql.sock4
tmpdir=/data/mysql_data4
port = 3309
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
explicit_defaults_for_timestamp=true

 

⑤ 赋予脚本运行权限并运行
技术图片

 

 


执行结果:

技术图片

 

 


⑥ 修改默认密码
技术图片

 

 


记得修改每一个默认密码哦

mariadb-多实例安装(代码片段)

Mariadb多实例安装1.数据库多实例一般在测试环境中使用,生成环境不建议使用多实例为何要做多实例呢说白了就是缺机器呗基于Mariadb源码编译来进行多实例安装规划多实例目录文件,这里目录用端口号来代替了,容易区分[[email&... 查看详情

基于源码编译安装mariadb实现多实例(代码片段)

准备环境:CentOS7.6mariadb-10.2.23.tar.gz源码包多实例目录结构:编译安装安装开发工具yuminstallbisonbison-develzlib-devellibcurl-devellibarchive-develboost-develgccgcc-c++cmakencurses-develgnutls-devellibxml2-developenssl-devell 查看详情

mysql的编译安装及多实例配置总结(代码片段)

编译安装MySQL+多实例编译安装MySQL编译环境MySQL版本CentOS7.6mariadb-10.2.23一、安装编译所需要的包yuminstallbisonbison-develzlib-devellibcurl-devellibarchive-develboostdevelgccgcc-c++cmakencurses-develgnutls-devellibxml2-developen 查看详情

实验:基于yum安装的多实例(代码片段)

实验:基于YUM安装的多实例1.安装mariadbyuminstallmariadb2.创建多实例对应的目录结构mkdir/mysql/3306,3307,3308/data,,socket,log,bin,pid-pvchown-Rmysql.mysql/mysql3.创建多实例的数据库文件mysql_install_db--datadir=/mysql/3306/data/--user 查看详情

sh在centos7实例上安装dockerengine(代码片段)

查看详情

mysql多实例部署(代码片段)

Centos7.6部署3个Mariadb实例[[email protected]~]#yuminstallmariadb-server-y#创建对应的目录文件[[email protected]~]#mkdir/mysql/3306,3307,3308/data,etc,socket,log,bin,pid-pchown-Rmysql.mysql/mysql#初始化数据 查看详情

mysql多实例部署(代码片段)

Centos7.6部署3个Mariadb实例[[email protected]~]#yuminstallmariadb-server-y#创建对应的目录文件[[email protected]~]#mkdir/mysql/3306,3307,3308/data,etc,socket,log,bin,pid-pchown-Rmysql.mysql/mysql#初始化数据 查看详情

centos7安装grafana(代码片段)

...。保证多机构下,只看到本机构的监控系统数据。Grafana安装部署环境:CentOS7下载granafawgethttps://dl.grafana.com/oss/release/grafana-6.4.4-1.x86_64.rpm安装yuminstallgrafana-6.4.4-1.x86_64.rpm启动systemctlstartgrafana-serversystemctlenablegrafana-server配置文件/etc... 查看详情

mysql系列详解一:mysql&&多实例安装-技术流ken(代码片段)

1.简介MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息更加容易。MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程... 查看详情

mysql第01课-centos+单实例mysql编译安装总结(代码片段)

...可以指定安装路径,再说安装是简单活,将来安装最新版数据库,会看文档,学里面的知识更重要3、系统管理员操作数据库一定要小心,重要操作应三思而后行-----------------------------------------1、注意:第一步要检查是否有安装... 查看详情

centos7安装部署openstack--启动实例(代码片段)

一、命令行启动一个实例  1、创建网络neutronnet-create--shared--provider:physical_networkprovider公共的网络,所有项目都能用,provider和配置文件/etc/neutron/plugins/ml2/ml2_conf.ini一致--provider:network_typeflatoldboyoldboy网络名称  创建子网,划... 查看详情

mycat安装(代码片段)

...大爆炸时代,对数据处理的要求越来越高,很明显单实例数据库已经不能满足需求了,这时候数据库的中间件便应运而生。中间件聚集多实例来提供更强的处理能力,并且隐藏了多实例产生的复杂性。mycat就是一个数据库中间件... 查看详情

技术分享|利用systemd管理mysql单机多实例(代码片段)

...c;用它来管理多实例也是很方便的。本文我们以RPM/YUM方式安装后的MySQL为例&# 查看详情

zk单机多实例部署(代码片段)

...sr/local/zookeeper/conf/zoo1~3.cfgyum依赖yuminstalljava-1.8.0-openjdk二.安装1.下载安装包wgethttp://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.5.2-alpha/zookeeper-3.5.2-alpha.tar.gz2.解压并移动tarzxvfzookeeper-3.5.2-alpha.tar.gzmvzookeeper-3.5.2-alpha/usr/local/zookeeper3.创建... 查看详情

centos7环境下使用percona工具对mysql5.7进行多实例从库部署(代码片段)

centos7环境下使用percona工具对mysql5.7进行多实例从库部署从库启动3307端口#cat/etc/my_3307.cnf#ExampleMySQLconfigfileformediumsystems.#8核16G#Thisisforasystemwithlittlememory(16G)whereMySQLplays[client]#password=your_passw 查看详情

centos6.5安装mysql5.6多实例(多配置文件)

*********************************************************************安装说明:使用镜像:    CentOS-6.5-x86_64-minimal.iso系统:      CentOSrelease6.5(Final)  查看详情

linux之ansible安装多实例mariadb(代码片段)

Ansible安装多实例mariadb10.2.23堡垒机配置root家目录下放置mariadb二进制包[MonApr2919:52[email protected]~]#ls-rw-r--r--1rootroot456950538Apr2608:16mariadb-10.2.23-linux-x86_64.tar.gz在/data目录下创建ansible目录,内部创建roles文件夹[ 查看详情

基于二进制安装的mariadb实现多实例(代码片段)

基于二进制安装的mariadb实现多实例 1、mariadb版本:10.2.23 2、二进制安装mariadb的shell脚本#!/bin/bashidmysql&>/dev/nullif[`echo$?`-ne0];thenuserdel-rmysql&>/dev/nulluseradd-r-u336-s/sbin/nologin-d/data/m 查看详情