mysql 5.7 启动 ln_CentOS 7.7 二进制安装 Mysql-5.7 并启动多实例

第一章 需求说明部署MySQL5.7的三个多实例环境(端口分别为3307,3308,3309)

部署MySQL5.6和8.0版本数据库实例((端口分别为3316和3326)

第二章 环境准备

1.虚拟机环境$ hostname -I

10.0.1.51

$ hostname

db01

$ cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

2.虚拟机优化# 关闭Selinux

$ setenforce 0

$ sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config

# 关闭防火墙

$ systemctl stop firewalld

$ systemctl disable firewalld

$ iptables-save

# 更改yum源

$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ori

$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

$ sed  -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo

# 添加epel源

$ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 更新yum缓存

$  yum clean all

$ yum makecache fast

# 停止NetworkManager

$ systemctl stop NetworkManager

$ systemctl disable NetworkManager

# 加大文件描述符

$ echo '* - nofile 65535' >>/etc/security/limits.conf

3.清理环境

①卸载已安装的mysql$ rpm -qa | grep mysql

# 结果如下

mysql-community-common-8.0.18-1.el7.x86_64

mysql-community-client-8.0.18-1.el7.x86_64

mysql-community-libs-8.0.18-1.el7.x86_64

# 使用以下命令依次删除上面的程序

$ yum remove mysql-xxx-xxx-

②删除mysql的配置文件$ find / -name mysql|xargs rm -fr

③删除MariaDB的文件$ rpm -qa | grep mariadb

$ rpm -e mariadb-xxx --nodeps

④删除my.cnf$ rm -fr /etc/my.cnf

⑤检查端口是否被占用$ which mysql

$ pkill mysqld

$ netstat -lntup|egrep '3307|3308|3309|3316|3326'

4.准备软件包

5.准备目录$ rm -rf /data/*

# MySQL安装目录

$ mkdir -p /data/app

# MySQL数据目录

$ mkdir -p /data/330{7,8,9}/data

$ mkdir -p /data/33{16,26}/data

# Scoket目录

$ mkdir -p /data/socket

第三章 部署MySQL5.7多实例

1.解压软件包并制作软连接$ tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

$ mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28

$ ln -s /data/app/mysql-5.7.28 /data/app/mysql5728

2.创建MySQL多实例配置# 3307实例配置

$ cat > /data/3307/my.cnf <

[mysqld]

user=mysql

basedir=/data/app/mysql5728

datadir=/data/3307/data

socket=/data/socket/mysql3307.sock

port=3307

server_id=7

EOF

# 3308实例配置

$ cat > /data/3308/my.cnf <

[mysqld]

user=mysql

basedir=/data/app/mysql5728

datadir=/data/3308/data

socket=/data/socket/mysql3308.sock

port=3308

server_id=8

EOF

# 3309实例配置

$ cat > /data/3309/my.cnf <

[mysqld]

user=mysql

basedir=/data/app/mysql5728

datadir=/data/3309/data

socket=/data/socket/mysql3309.sock

port=3309

server_id=9

EOF

3.创建MySQL傀儡用户并授权$ useradd -s /sbin/nologin -M mysql

$ id mysql

$ chown -R mysql.mysql /data

4.初始化$ /data/app/mysql5728/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql5728 --datadir=/data/3307/data

$ echo $?

$ /data/app/mysql5728/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql5728 --datadir=/data/3308/data

$ echo $?

$ /data/app/mysql5728/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql5728 --datadir=/data/3309/data

$ echo $?

5.编写systemd启动脚本# 3307实例启动的服务脚本

$ cat > /etc/systemd/system/mysqld3307.service <

[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

ExecStart=/data/app/mysql5728/bin/mysqld --defaults-file=/data/3307/my.cnf

LimitNOFILE = 5000

EOF

# 3308实例启动的服务脚本

$ cat > /etc/systemd/system/mysqld3308.service <

[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

ExecStart=/data/app/mysql5728/bin/mysqld --defaults-file=/data/3308/my.cnf

LimitNOFILE = 5000

EOF

# 3309实例启动的服务脚本

$ cat > /etc/systemd/system/mysqld3309.service <

[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

ExecStart=/data/app/mysql5728/bin/mysqld --defaults-file=/data/3309/my.cnf

LimitNOFILE = 5000

EOF

6.启动多实例$ systemctl start mysqld3307

$ systemctl start mysqld3308

$ systemctl start mysqld3309

$ netstat -lntup|grep mysqld

tcp6   0   0  :::3307    :::*     LISTEN   2093/mysqld

tcp6   0   0  :::3308    :::*     LISTEN   2127/mysqld

tcp6   0   0  :::3309    :::*     LISTEN   2161/mysqld

7.绝对路径登录MySQL多实例$ /data/app/mysql5728/bin/mysql -S /data/socket/mysql3307.sock

$ /data/app/mysql5728/bin/mysql -S /data/socket/mysql3308.sock

$ /data/app/mysql5728/bin/mysql -S /data/socket/mysql3309.sock

第四章 部署MySQL5.6单实例

1.解压软件包并制作软连接$ tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

$ mv mysql-5.6.46-linux-glibc2.12-x86_64 mysql-5.6.46

$ ln -s ln -s mysql-5.6.46 mysql5646

2.创建MySQL实例配置cat > /data/3316/my.cnf <

[mysqld]

user=mysql

basedir=/data/app/mysql5646

datadir=/data/3316/data

socket=/data/socket/mysql3316.sock

port=3316

server_id=16

EOF

3.创建mysql傀儡用户并授权$ chown -R mysql.mysql /data

4.初始化$ /data/app/mysql5646/scripts/mysql_install_db  --user=mysql --basedir=/data/app/mysql5646 --datadir=/data/3316/data

$ echo $?

5.编写systemd启动脚本cat > /etc/systemd/system/mysqld3316.service <

[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

ExecStart=/data/app/mysql5646/bin/mysqld --defaults-file=/data/3316/my.cnf

LimitNOFILE = 5000

EOF

6.启动实例$ systemctl daemon-reload

$ systemctl start mysqld3316.service

$ netstat -lntup|grep mysqld

tcp6  0  0 :::3316    :::*    LISTEN      2516/mysqld

7.绝对路径登录MySQL实例$ /data/app/mysql5646/bin/mysql -S /data/socket/mysql3316.sock

第五章 部署MySQL8.0单实例

1.解压软件包并制作软连接$ tar xf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

$ mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql-8.0.18

$ ln -s mysql-8.0.18 mysql8018

2.创建MySQL实例配置cat > /data/3326/my.cnf <

[mysqld]

user=mysql

basedir=/data/app/mysql8018

datadir=/data/3326/data

socket=/data/socket/mysql3326.sock

port=3326

server_id=26

EOF

3.创建mysql傀儡用户并授权$ chown -R mysql.mysql /data

4.安装依赖并初始化$ yum install -y perl-DBD-MySQL perl-Config-Tiny epel-release perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes

$ /data/app/mysql8018/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql8018 --datadir=/data/3326/data

$ echo $?

5.编写systemd启动脚本cat > /etc/systemd/system/mysqld3326.service <

[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

ExecStart=/data/app/mysql8018/bin/mysqld --defaults-file=/data/3326/my.cnf

LimitNOFILE = 5000

EOF

6.启动实例$ systemctl start mysqld3326.service

$ netstat -lntup|grep mysqld

tcp6       0      0 :::3326    :::*    LISTEN      2686/mysqld

7.绝对路径登录MySQL实例$ /data/app/mysql8018/bin/mysql -S /data/socket/mysql3326.sock

至此,在同一台服务器上部署多版本MySQL多实例完成,可是使用一下命令验证:[root@db01 ~]# netstat -lntup|grep mysqld

tcp6       0      0 :::3326    :::*        LISTEN      2686/mysqld

tcp6       0      0 :::33060   :::*        LISTEN      2686/mysqld

tcp6       0      0 :::3307    :::*        LISTEN      2093/mysqld

tcp6       0      0 :::3308    :::*        LISTEN      2127/mysqld

tcp6       0      0 :::3309    :::*        LISTEN      2161/mysqld

tcp6       0      0 :::3316    :::*        LISTEN      2516/mysqld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值