mysql多实例部署
多实例概述
mysql多实例其实就是在同一台服务器上开启不同的端口,运行多个msyql服务进程,通过不同的socket来监听不同的服务端口,提供不同的服务
多实例部署
多实例部署时通过配置文件的相互隔离来实现的
1、先安装MySQL常用的依赖包,并下载所需MySQL对应版本安装包下面准备的是5.7.27二进制的包
yum install -y libaio libnuma* perl
2、解压、创建mysql用户、数据目录
# tar xf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ # ln -s mysql-5.7.27-linux-glibc2.12-x86_64/ mysql 创建mysql组和用户 groupadd mysql useradd -r -g mysql mysql 创建mysq数据目录 mkdir -p /mysql/{3306,3307}/data chown -R mysql.mysql /mysql
3、准备相应的MySQL配置文件
vim /mysql/3306/my.cnf
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/mysql/3306/data socket=/mysql/3306/mysql.sock log-error=/mysql/3306/mysql.err pid-file=/mysql/3306/mysql.pid slow_query_log = ON slow_query_log_file = /mysql/3306/slow.log long_query_time = 1 #character config character_set_server=utf8mb4 symbolic-links=0
cp /mysql/3306/my.cnf /mysql/3307/
sed -i 's/3306/3307/g' /mysql/3307/my.cnf
4、初始化数据库
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/3306/data --initialize /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/3307/data --initialize
初始化之后数据库root账号密码会直接输出到终端显示,记录mysql.err日志中 也可查看
由于初始化时未指定配置文件,所以在mysql.err没有生成 可手动创建一下,注意之后要重新授权,否则会启动失败
5、启动多实例
/usr/local/mysql/bin/mysqld_safe --defaults-file=/mysql/3306/my.cnf & /usr/local/mysql/bin/mysqld_safe --defaults-file=/mysql/3307/my.cnf &
6、连接实例
mysql -uroot -p -S /mysql/3306/mysql.sock
7、停止实例
mysqladmin -S /mysql/3306/mysql.sock -uroot -p123123 shutdown
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗