mysql多实例安装配置centos_centos 安装多实例数据库

在Centos下安装多个MySql 5.7

① 下载MySql 解压版安装包

② 编写安装脚本

③ 将脚本和安装包放置同一目录

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

⑤ 赋予脚本运行权限并运行

⑥ 修改默认密码

① 下载MySql 解压版安装包

点击传送门:MySql下载 下载对应系统的MySql, Centos选 Linux - Generic <64位> (本人Centos是64位,32位的请选择32位)

055425953f3b36cf72bc5dc760de8e5b.png

② 编写安装脚本

#!/bin/bash

baseMysqlDir=/usr/local/tarsPkg/mysql-5.7.22-linux-glibc2.12-x86_64yum 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_data{1..4}

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

## 修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组chown mysql.mysql -R /usr/local/mysql/mysql-files /data/mysql_data{1..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 到pathecho "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

③ 将脚本和安装包放置同一目录

2bbe51f0af7c48d61924bf172068ff2c.png

④ 编写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 = 0max_connections=1000sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp=truetmpdir=/data/mysql_data1

character_set_server=utf8mb4

[mysqld2]

datadir= /data/mysql_data2

socket= /tmp/mysql.sock2

tmpdir=/data/mysql_data2

port= 3307user=mysql

performance_schema=off

innodb_buffer_pool_size=32M

bind_address= 0.0.0.0skip-name-resolve = 0sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp=truelower_case_table_names= 1[mysqld3]

datadir= /data/mysql_data3

socket= /tmp/mysql.sock3

tmpdir=/data/mysql_data3

port= 3308user=mysql

performance_schema=off

innodb_buffer_pool_size=32M

bind_address= 0.0.0.0skip-name-resolve = 0sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp=truelower_case_table_names= 1[mysqld4]

datadir= /data/mysql_data4

socket= /tmp/mysql.sock4

tmpdir=/data/mysql_data4

port= 3309user=mysql

performance_schema=off

innodb_buffer_pool_size=32M

bind_address= 0.0.0.0skip-name-resolve = 0sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp=true

⑤ 赋予脚本运行权限并运行

05cf2bc0db369826bc9872fc9432b80a.png

执行结果:

cd8567f5d018356716f577161bfade8b.png

⑥ 修改默认密码

b82fa01691242d4cdfcae28428ec1861.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值