数据库多实例搭建----mysqld_multi方式

2019-11-23  本文已影响0人  荆俊玮

一、环境规划

1.端口 :

3307,3308,3309

2.数据存储路径 :

/data/mysql57/330{7..9}_data

3.配置文件主信息:

/etc/my.cnf
port=3307/3308/3309
basedir=/usr/local/mysql
datadir=/data/mysql57/330{7..9}_data
socket=/tmp/mysql330{7..9}.sock

4.多实例搭建版本

系统版本:Linux db02 3.10.0-957.el7.x86_64;
数据库版本:MySQL-5.7.26;

二、 搭建部署

1. 创建关键目录并授权

mkdir -p /data/mysql57/330{7..9}_data 
chown -R mysql.mysql /data/*

2.初始化数据

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/3307_data 
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/3308_data 
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/3309_data   

说明:数据库版本为5.7.26,因此这里采用的是不安全的初始化方式,会有一定的警告信息出现,请无视,如图:

image.png

3.准备配置文件

vim /etc/my.cnf
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
[mysqld3307]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql57/3307_data
port=3307
socket=/tmp/mysql3307.sock
[mysqld3308]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql57/3308_data
port=3308
socket=/tmp/mysql3308.sock
[mysqld3309]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql57/3309_data
port=3309
socket=/tmp/mysql3309.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql57/data
socket=/tmp/mysql.sock
language = /usr/local/mysql/share/english
[mysql]
socket=/tmp/mysql.sock

4.环境变量准备

echo "export PATH=/usr/local/mysql/bin:$PATH" >>/etc/profile
source /etc/profile

5.启动多实例数据库

mysqld_multi start 3306
mysqld_multi start 3307
mysqld_multi start 3308

检查端口是否启动

netstat -lntup|grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      8456/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      7806/mysqld         
tcp6       0      0 :::3308                 :::*                    LISTEN      8031/mysqld         
tcp6       0      0 :::3309                 :::*                    LISTEN      8230/mysqld      

6.登陆数据

mysql -S /tmp/mysql3307.sock
mysql -S /tmp/mysql3308.sock
mysql -S /tmp/mysql3309.sock

说明:使用多实例登陆到不同的数据库时,一定要指定该数据库的本地socket文件路径,若不指定socket文件,会自动寻找默认socket文件即/tmp/mysql.sock,同时因采取不安全模式初始化数据库,建议第一时间设置登录用户及密码,提高安全使用性

上一篇 下一篇

猜你喜欢

热点阅读