MySQL多实例

什么是多实例

  • 在一台服务器上运行多个数据库服务

为什么使用多实例

  • 节约运维成本
  • 提高硬件利用率

配置

1)安装软件

] yum -y install libaio
] useradd mysql   #用户名必须为mysql
] tar -xvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz  #注意软件版本,需要支持多实例功能
] mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
] vim /root/.bashrc
export PATH=$PATH:/usr/local/mysql/bin
] source /root/.bashrc

2)配置文件

] vim /etc/my.cnf   #新建
[mysqld_multi]    #启用多实例
mysqld=/usr/local/mysql/bin/mysqld_safe  #指定进程文件
mysqladmin=/usr/local/mysql/bin/mysqladmin   #指定管理命令
user=root     #指定进程用户

[mysqld1]     #实例进程名称,格式为mysqldX,X为数字编号
port=3307     #端口号
datadir=/dir1   #数据库目录
socket=/dir1/mysqld1.sock    #指定socket文件
pid-file=/dir1/mysqld1.pid    #指定pid文件
log-error=/dir1/mysqld1.log  #指定错误日志文件

[mysqld2]     #实例进程名称
port=3308      #端口号
datadir=/dir2   #数据库目录
socket=/dir2/mysqld2.sock   #指定socket文件
pid-file=/dir2/mysqld2.pid   #指定pid文件
log-error=/dir2/mysqld2.log  #指定错误日志文件

] mkdir /dir1 /dir2

3)启动服务

] mysqld_multi start 1  #启动实例1,首次启动会初始化并将root初始密码输出到终端

] mysqld_multi --user=root --password=PASSWORD stop 实例编号   #停止实例

4)客户端访问

] mysql -uroot -p'PASSWORD' -S sock文件 #本机连接,首次连接需要使用alter user命令修改root@localhost密码

连接失败时:
检查配置文件/etc/my.cnf , 确认后:

] killall -9 mysqld   #杀进程杀到报错
] rm -rf 数据库目录/*   #删除数据库下的所有文件,使服务下次启动时能够重新初始化
] mysqld_multi start 实例编号  #启动服务并初始化,注意root初始密码
] mysql -uroot -p'PASSWORD' -S sock文件 #使用初始密码本机连接,使用alter user命令修改root@localhost密码

在客户端访问:

[root@client] mysql -h服务器ip -P实例端口 -uUSER -pPASSWORD
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值