mysql_multi多实例管理

目录

配置/etc/my.cnf文件

创建数据目录和日志目录

编译安装

查看全部实例的状态

启动单个实例

关闭单个实例

启动多个实例

关闭多个实例


继上篇文章继续

MySQL编译安装-CSDN博客

配置/etc/my.cnf文件

复制代码
[mysqld_multi]

mysqld=/usr/local/mysql8.0.30/bin/mysqld_safe
mysqladmin=/usr/local/mysql8.0.30/bin/mysqladmin
log=/home/mysql8/data30/mysqld_multi.log

[mysqld]
user=mysql8
port=3306
server_id=3306
basedir=/usr/local/mysql8.0.30/
datadir=/home/mysql8/data30/
socket=/home/mysql8/data30/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1
log_error=/var/log/mysqld.log


[mysqld3307]

user=mysql8
datadir=/home/mysql8/3307/data
port=3307
server_id=3307
socket=/home/mysql8/3307/data/mysql_3307.sock
log-bin=/home/mysql8/3307/binlog/mysql3307_bin
log_error=/home/mysql8/3307/data/mysqld.log


[mysqld3308]

user=mysql8
datadir=/home/mysql8/3308/data
port=3308
server_id=3308
socket=/home/mysql8/3308/data/mysql_3308.sock
log-bin=/home/mysql8/3308/binlog/mysql3308_bin
log_error=/home/mysql8/3308/data/mysqld.log

[client]
socket=/home/mysql8/data30/mysql.sock

创建数据目录和日志目录

复制代码
su - mysql8
mkdir 3307 3308
mkdir 3307/binlog
mkdir 3307/data
mkdir 3308/binlog
mkdir 3308/data
exit

编译安装

复制代码
mysqld --user=mysql8 \
--basedir=/usr/local/mysql8.0.30/ \
--datadir=/home/mysql8/3307/data \
--lower-case-table-names=1 \
--initialize 

mysqld --user=mysql8 \
--basedir=/usr/local/mysql8.0.30/ \
--datadir=/home/mysql8/3308/data \
--lower-case-table-names=1 \
--initialize 

查看全部实例的状态

复制代码
su - mysql8
mysqld_multi report

#这里可能需要配置下mysql8的环境变量
su - mysql8
vim .bash_profile  /添加下述内容

export MYSQL_HOME=/usr/local/mysql8.0.30
export PATH=$MYSQL_HOME/bin:$PATH


#设置mysqld_multi.log文件的属主和属组
su - root
chown mysql8.mysql8 /home/mysql8/data30/mysqld_multi.log

启动单个实例

复制代码
mysqld_multi start 3307

关闭单个实例

复制代码
mysqld_multi stop 3307

关闭失败了,查看mysqld_multi.log日志,发现'root'@'localhost' 连接被拒绝了

那么就在关闭的时候指定用户和密码,但是要重置实例密码,不然密码是过期状态

复制代码
mysqld_multi --user=root --password='123456' stop 3307

重置密码

复制代码
mysqladmin -S 3307/data/mysql_3307.sock -P 3307 -uroot -p'M>_2k3fXO&g7' password '123456'
mysqladmin -S 3308/data/mysql_3308.sock -P 3308 -uroot -p'CriDygysI3*H' password '123456'

最后再尝试关闭,已经OK

复制代码
mysqld_multi --user=root --password='123456' stop 3308

启动多个实例

复制代码
mysqld_multi start

关闭多个实例

复制代码
mysqld_multi stop

su - root 
vim /etc/my.cnf

#[mysqld_multi]模块中添加
user=root
pass=123456

#如果每个MySQL服务器的密码不一样,只需要在[mysqld_multi]中添加多个密码即可
user=root
pass=123456
pass=123457
相关推荐
2401_8914092614 分钟前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
w-w0w-w6 小时前
SQL注入
网络·数据库·sql
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼7 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
IvorySQL7 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶8 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河8 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
宇宙无敌暴龙战士6669 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊9 小时前
MySQL 的四种隔离级别
java·数据库·mysql
say_fall9 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++