MySQL——多实例搭建

多实例的实质

在一台机器上开启多个mysql的服务端口(3306,3307),允许多个mysql服务进程,这些服务进程通过不同的sccket监听不同的服务端口来提供各自的服务。

安装:

1、安装cmake及mysql依赖包

yum install ncurses-devel -y

yum install libaio-devel -y

2、创建mysql多实例数据文件目录

【注:若已经安装单实例】

pkill mysqld     //杀掉mysql的单实例

cd /etc/init.d/mysqld    //删除单实例的启动命令

mkdir -p /data/{3306,3307}/data //创建3306,3307的数据文件目录。

tree /data   //查看结构

chown -R mysql.mysql /data     //授权data目录

3、创建软件安装位置

mkdir /app/database  //从其他ip下拷一份

解压

tar xf mysql_.....

重命名:

mv mysql_..... mysql

4、创建mysql配置文件与环境变量

分别在/data/3306与/data/3307下创建my.cnf文件     (主要修改port和server_id) 

##将/tmp/my.cnf 重命名:mv /tmp/my.cnf /tmp/my.cnf.bak

cd /data/3306   //3307同理

touch mycnf

vim /data/3306/my.cnf

修改环境变量

cd /etc/profile

添加:echo 'export PATH=/application/mysql/bin:$PATH'

6、初始化数据文件

初始化命令同单实例,只是改变了数据路径

在/app/mysql/scriopts下执行

【5.7以后的】[data/3306/data一定要为空,不空一定会失败]

mysql --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/data

mysql --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3307/data

【5.6以前的】

./mysql_install_db --user=mysql --basedir=/app/mysql --datadir=/data/3306/data --defaults-file=/data/3306/my.cnf 

./mysql_install_db --user=mysql --basedir=/app/mysql --datadir=/data/3307/data --defaults-file=/data/3307/my.cnf

/初始化的目的就是为了生成存放文件的地方,在/data下生成一些系统化的文件

7、配置开机自启动脚本与启动多实例

cd /etc/systemd/system

touch mysql3306.server   //3307同理

vim mysql3306.server

启动多实例:

systemctl start mysqld3307.service

最后通过netstat -lntup将端口显示出来检查

启动数据库

mysql -S /data/3306/mysql.sock             //多实例的登录一定要指定特定的socket

mysql -S /data/3307/mysql.sock             //多实例的登录一定要指定特定的socket

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值