MySQL安装多实例方式二

1.准备环境

1.1安装mariadb

systemctl enable mariadb

1.2 设置mariadb开机启动

systemctl enable mariadb 

1.3 依赖组件

yum install gcc gcc-c++ openssl openssl-devel libaio libaio-devel  ncurses  ncurses-deve
yum -y install numactl

1.4 解压MySQL安装包

tar -xvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.xz

1.5 创建用户

#新建mysql用户、mysql用户组,如果之前已经建立过,就不用建立了
groupadd mysql
#给mysql添加用户 为 mysql
useradd mysql -g mysql

2.安装多实列

2.1 准备安装多实例的文件夹

mkdir -p /mysql/{3306,3307,3308,3309}/data

为路径授权,以免后期操作出现权限问题

chown -R mysql:mysql /mysql 

2.2 创建MySQL参数配置文件

[mysqld]
user=mysql
basedir = /opt/environment/mysql/mysql8.0

[mysqld_multi]
mysqld=/opt/environment/mysql/mysql8.0/bin/mysqld_safe
mysqladmin=/opt/environment/mysql/mysql8.0/bin/mysqladmin
log=/opt/environment/mysql/mysql8.0/mysqld_multi.log

[mysqld3306]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/mysql8.0/3306/data
port=3306
server_id=3306
socket=/tmp/mysql_3306.sock
log-error = /mysql8.0/3306/error_3306.log

[mysqld3307]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/mysql8.0/3307/data
port=3307
server_id=3307
socket=/tmp/mysql_3307.sock
log-error=/mysql8.0/3307/error_3307.log

[mysqld3308]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/mysql8.0/3308/data
port=3308
server_id=3308
socket=/tmp/mysql_3308.sock
log-error=/mysql8.0/3308/error_3308.log

2.3 初始化数据库

# 初始化3306实例--初始密码:uheIfhru7s?q
/opt/environment/mysql/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/opt/environment/mysql/mysql8.0/ --datadir=/mysql8.0/3306/data
# 初始化3307实例--初始密码:4ua(q,T&=d,U
/opt/environment/mysql/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/opt/environment/mysql/mysql8.0/ --datadir=/mysql8.0/3307/data
# 初始化3308实例--初始密码:DMdzj%xp!0V-
/opt/environment/mysql/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/opt/environment/mysql/mysql8.0/ --datadir=/mysql8.0/3308/data

注意,初始化实例的最后一行记录了root的初始密码

2020-06-10T08:06:41.893823Z 0 [System] [MY-013169] [Server] /opt/environment/mysql/mysql8.0/bin/mysqld (mysqld 8.0.17) initializing of server in progress as process 20250
2020-06-10T08:06:44.276492Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: uheIfhru7s?q

2.4 设置环境变量

vim /etc/profile
# 在文件末尾添加下面信息
export PATH=/opt/environment/mysql/mysql8.0/bin:$PATH
#使环境变量生效
source /etc/profile

2.5 mysqld_multi管理多实例

使用mysqld_multi启动3306端口的实例

mysqld_multi start 3306

使用mysqld_multi启动全部实例

mysqld_multi start

使用mysqld_multi查看实例状态

mysqld_multi report

使用mysqld_multi关闭

mysqld_multi stopt

注:使用mysqld_multi关闭多实例数据库目前来看比较麻烦,需要在my.cnf文件的[mysqld_multi]模块里面配置用户密码,并且各个数据库的用户密码都需要相同,否则无法关闭。

[mysqld]
user=mysql
basedir = /opt/environment/mysql/mysql8.0
user=root
pass=123456@cP

使用mysqladmin关闭

mysqladmin -h127.0.0.1 -uroot -p123456@cP -P3306 shutdown 

3.访问多实例数据库

3.1 登录方式

方式一:127

mysql -uroot -puheIfhru7s?q -P3306 -h127.0.0.1

方式二:使用socket文件连接

mysql -uroot -puheIfhru7s?q -S /tmp/mysql_3306.sock
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值