阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL 5.7多实例安装配置实例

177次阅读
没有评论

共计 2072 个字符,预计需要花费 6 分钟才能阅读完成。

目标:一台服务器开多个 MySQL 实例

1、编译安装 MySQL 服务

到官网下周 mysql 源码包,然后通过脚本安装

#!/bin/bash
yum install -y ncurses-devel cmake gcc perl-Data-Dumper gcc-c++
useradd -s /sbin/nologin -r -M mysql
tar -xzf mysql-boost-5.7.13.tar.gz
cd mysql-5.7.13
cp support-files/my-default.cnf /etc/my.cnf
make clean
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DENABLED_LOCAL_INFILE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/
make -j 2
make install
mkdir /data/mysql -p
chown mysql:mysql /data/mysql/
chown mysql:mysql -R /usr/local/mysql/
/usr/local/mysql/bin/mysqld –initialize –user=mysql

初始化完成之后,/data/mysql 这里是一个实例
注意:初始化完成会提供一个初始 root 密码给你的,要记得改

添加 mysql 环境变量

[root@k8s mysql-5.7.13]# echo ‘PATH=/usr/local/mysql/bin:$PATH’ >> /etc/profile
[root@k8s mysql-5.7.13]# source /etc/profile

安装完成

2、修改 my.cnf 配置

[mysqld_multi]
mysqld    = /usr/local/mysql/bin/mysqld 
mysqladmin = /usr/local/mysql/bin/mysqladmin
log        = /tmp/mysql_multi.log

# 加入以上配置

# 第一个实例,也就是刚安装完初始化的那个实例
[mysqld1]
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 101
socket = /tmp/mysqld.sock
user = mysql

#gtid 配置,可选
gtid_mode=on
enforce_gtid_consistency=on
log-slave-updates=on
log-bin=mysql-bin
binlog_format=mixed

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 第二个实例
[mysqld2]

basedir = /usr/local/mysql
datadir = /data/3307
port = 3307
server_id = 102
socket = /tmp/mysqld2.sock
user = mysql

#gtid 配置,可选
gtid_mode=on
enforce_gtid_consistency=on
log-slave-updates=on
log-bin=mysql-bin
binlog_format=mixed

# 从库设置只读
read-only

3、初始化另一个实例

指定 data 目录,执行命令初始化

/usr/local/mysql/bin/mysqld –initialize –user=mysql –datadir=/data/3307
初始化完成会提供一个初始 root 密码给你的,要记得改

4、启动实例

启动实例,通过 mysqld_multi 启动
[root@k8s mysql-5.7.13]# mysqld_multi start

查看多实例状态

[root@k8s mysql-5.7.13]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running

启动完成

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2072字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中