当前位置:网站首页>CentOS mysql多实例部署
CentOS mysql多实例部署
2022-04-23 14:00:00 【白云碎里一蓑舟】
一. 清除原始环境的mysql、mariadb
#查看是否有mysql的rpm包
rpm -qa|grep mysql
删除查询出来的包(根据实际情况删除)
rpm -e 名称
二. 安装多实例
#进入临时文件夹
cd /tmp
ls
#解压mysql压缩包
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
ls
#移动到安装目录
mv mysql-5.7.30-linux-glibc2.12-x86_64/ /usr/local/mysql
#进入安装目录
cd /usr/local/mysql
ls
#在系统创建mysql账号
groupadd -g 1002 mysql
useradd -u 1002 -g 1002 -M -s /sbin/nologin mysql
#验证mysql账号
id mysql
#添加环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
#创建data存放目录
mkdir /data/mysql_platform/data
mkdir /data/mysql_storage/data
mkdir /data/mysql_production/data
mkdir /data/mysql_sale/data
mkdir /data/mysql_aggregate/data
#my.cnf的存放地址(自定义
#my.cnf配置
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#端口号(不能重复,通过端口号区分多实例
port=3302
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql_storage/data
#服务器的id(不能重复
server-id=102
#多实例通过此地址启动
socket=/data/mysql_storage/mysql.sock
# 错误日志存放目录
log_error=/data/mysql_storage/logs/mysql.log
# 二进制日志存放目录
log_bin=/data/mysql_storage/logs/mysql-bin
#二进制文件的格式
binlog-format=MIXED
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#同步的数据库名称
replicate-do-db=storage_release
#创建slave_master_info的表
master-info-repository = table
#创建mysql.slave_relay_info表来记录同步的位置信息
relay-log-info-repository = table
#其他实例的my.cnf配置同上
#将所有的.service文件存放在 /etc/systemd/system目录下
#修改defaults-file为其对应的my.cnf配置文件
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
#defaults-file my.cnf存放的路径
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql_storage/my.cnf
#其他实例的.servicef配置同上
#初始化文件
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql_platform/data --basedir=/usr/local/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql_storage/data --basedir=/usr/local/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql_production/data --basedir=/usr/local/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql_sale/data --basedir=/usr/local/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql_aggregate/data --basedir=/usr/local/mysql
#修改权限 -R整个文件夹 将整个文件夹拥有者权限给mysql组下的mysql用户
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql_*
#启动mysql--查看各数据库状态
systemctl status mysql_platform.service
systemctl status mysql_storage.service
systemctl status mysql_production.service
systemctl status mysql_sale.service
systemctl status mysql_aggregate.service
#依次启动数据库
systemctl start mysql_platform.service
systemctl status mysql_platform.service
systemctl start mysql_storage.service
systemctl status mysql_storage.service
systemctl start mysql_production.service
systemctl status mysql_production.service
systemctl start mysql_sale.service
systemctl status mysql_sale.service
systemctl start mysql_aggregate.service
systemctl status mysql_aggregate.service
#验证启动
netstat -lnp|grep 33
#连接数据库验证及修改root账号的连接权限。
#无密码使用 mysql -S /data/mysql_platform/mysql.sock
#有密码使用 mysql -u用户名 -p -S /data/mysql_platform/mysql.sock
mysql -S /data/mysql_platform/mysql.sock
#查看账号信息
select user,host from mysql.user;
#设置root账号IP地址权限为所有IP
update mysql.user set host='%' where user='root';
#刷新权限
flush privileges;
#退出
quit;
#其他几个数据库和上面操作一样。
mysql -S /data/mysql_storage/mysql.sock
mysql -S /data/mysql_sale/mysql.sock
mysql -S /data/mysql_production/mysql.sock
mysql -S /data/mysql_aggregate/mysql.sock
#设置开机启动
systemctl enable mysql_platform.service
systemctl enable mysql_storage.service
systemctl enable mysql_sale.service
systemctl enable mysql_production.service
systemctl enable mysql_aggregate.service
#关闭selinux
vim /etc/sysconfig/selinux (进入后 i->编辑->esc->:wq)
将SELINUX修改为DISABLED,即SELINUX=DISABLED
#防火墙开端口
firewall-cmd --zone=public --add-port=3301/tcp --permanent
firewall-cmd --zone=public --add-port=3302/tcp --permanent
firewall-cmd --zone=public --add-port=3303/tcp --permanent
firewall-cmd --zone=public --add-port=3304/tcp --permanent
firewall-cmd --zone=public --add-port=3305/tcp --permanent
#重启防火墙
firewall-cmd --reload
#重启电脑测试自启
reboot
结束啦~
版权声明
本文为[白云碎里一蓑舟]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_49513507/article/details/123549521
边栏推荐
- Quartus Prime硬件实验开发(DE2-115板)实验二功能可调综合计时器设计
- Function executes only the once function for the first time
- Basic SQL query and learning
- 编程旅行之函数
- Introduction to spark basic operation
- Modify the Jupiter notebook style
- 记录一个奇怪的bug:缓存组件跳转之后出现组件复制
- Taobao released the baby prompt "your consumer protection deposit is insufficient, and the expiration protection has been started"
- Go语言 RPC通讯
- 第十五章 软件工程新技术
猜你喜欢
Modify the Jupiter notebook style
SQL learning | complex query
专题测试05·二重积分【李艳芳全程班】
Business case | how to promote the activity of sports and health app users? It is enough to do these points well
2021年秋招,薪资排行NO
Record a strange bug: component copy after cache component jump
神经元与神经网络
scikit-learn构建模型的万能模板
Question bank and answer analysis of the 2022 simulated examination of the latest eight members of Jiangxi construction (quality control)
1256:献给阿尔吉侬的花束
随机推荐
编程旅行之函数
1256: bouquet for algenon
专题测试05·二重积分【李艳芳全程班】
Es introduction learning notes
Move blog to CSDN
JS force deduction brush question 102 Sequence traversal of binary tree
Oracle alarm log alert Chinese trace and trace files
Haruki Murakami -- Excerpt from "what do I talk about when I talk about running"
SQL learning | complex query
蓝绿发布、滚动发布、灰度发布,有什么区别?
Modify the Jupiter notebook style
变长参数__VA_ARGS__ 和 写日志的宏定义
SSM project deployed in Alibaba cloud
Solution of discarding evaluate function in surprise Library
SPC简介
【项目】小帽外卖(八)
Elmo (bilstm-crf + Elmo) (conll-2003 named entity recognition NER)
【报名】TF54:工程师成长地图与卓越研发组织打造
freeCodeCamp----time_ Calculator exercise
Analysis and understanding of atomicintegerarray source code